diff --git a/modules/optional/dev/default.nix b/modules/optional/dev/default.nix index 527ab55..3e4c576 100644 --- a/modules/optional/dev/default.nix +++ b/modules/optional/dev/default.nix @@ -1,9 +1,10 @@ -{...}: { +{pkgs, ...}: { imports = [ ./documentation.nix ./yubikey.nix ]; + environment.systemPackages = [pkgs.man-pages pkgs.man-pages-posix]; environment.enableDebugInfo = true; services.nixseparatedebuginfod.enable = true; } diff --git a/users/modules/config/manpager/default.nix b/users/modules/config/manpager/default.nix new file mode 100644 index 0000000..1970a13 --- /dev/null +++ b/users/modules/config/manpager/default.nix @@ -0,0 +1,14 @@ +{pkgs, ...}: let + nvimPager = pkgs.wrapNeovimUnstable pkgs.neovim-unwrapped nvimConfig; + nvimConfig = + pkgs.neovimUtils.makeNeovimConfig { + wrapRc = false; + withPython3 = false; + withRuby = false; + } + // { + wrapperArgs = ["--add-flags" "--clean -u ${./init.lua}"]; + }; +in { + home.sessionVariables.MANPAGER = "${nvimPager}/bin/nvim '+Man!'"; +} diff --git a/users/modules/config/manpager/init.lua b/users/modules/config/manpager/init.lua new file mode 100644 index 0000000..8a99758 --- /dev/null +++ b/users/modules/config/manpager/init.lua @@ -0,0 +1,11 @@ +vim.opt.buftype = "nowrite" +vim.opt.backup = false +vim.opt.modeline = false +vim.opt.shelltemp = false +vim.opt.swapfile = false +vim.opt.undofile = false +vim.opt.writebackup = false +vim.opt.shadafile = vim.fn.stdpath "state" .. "/shada/man.shada" + +-- Make sure to use ANSI colors +vim.opt.termguicolors = false diff --git a/users/modules/default.nix b/users/modules/default.nix index 37ea52a..867f238 100644 --- a/users/modules/default.nix +++ b/users/modules/default.nix @@ -5,6 +5,7 @@ ./config/htop.nix ./config/impermanence.nix + ./config/manpager ./config/neovim.nix ./config/shell ./config/utils.nix diff --git a/users/myuser/dev/default.nix b/users/myuser/dev/default.nix index f6da11b..576b62c 100644 --- a/users/myuser/dev/default.nix +++ b/users/myuser/dev/default.nix @@ -5,7 +5,7 @@ ]; home = { - extraOutputsToInstall = ["doc" "devdoc"]; + extraOutputsToInstall = ["man" "doc" "devdoc"]; packages = with pkgs; [ git-lfs d2 diff --git a/users/myuser/graphical/default.nix b/users/myuser/graphical/default.nix index 60f4248..2d56bf5 100644 --- a/users/myuser/graphical/default.nix +++ b/users/myuser/graphical/default.nix @@ -37,6 +37,8 @@ zathura ]; + # TODO neovim directtly opening file has different syntax + # TODO neovim reopening file should continue at the previous position # TODO thunderbird doesn't use passwords from password command # TODO rotating wallpaper # TODO thunderbird date time format is wrong even though this is C.utf8