nixcfg/modules/nixos/cli-apps/neovim/default.nix
2024-01-11 10:31:04 +00:00

48 lines
1.2 KiB
Nix

inputs @ { options
, config
, lib
, pkgs
, ...
}:
with lib;
with lib.plusultra; let
cfg = config.plusultra.cli-apps.neovim;
in
{
options.plusultra.cli-apps.neovim = with types; {
enable = mkBoolOpt false "Whether or not to enable neovim.";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
# FIXME: As of today (2022-12-09), `page` no longer works with my Neovim
# configuration. Either something in my configuration is breaking it or `page` is busted.
# page
plusultra.neovim
];
environment.variables = {
# PAGER = "page";
# MANPAGER =
# "page -C -e 'au User PageDisconnect sleep 100m|%y p|enew! |bd! #|pu p|set ft=man'";
PAGER = "less";
MANPAGER = "less";
NPM_CONFIG_PREFIX = "$HOME/.npm-global";
EDITOR = "nvim";
};
plusultra.home = {
configFile = {
"dashboard-nvim/.keep".text = "";
};
extraOptions = {
# Use Neovim for Git diffs.
programs.zsh.shellAliases.vimdiff = "nvim -d";
programs.bash.shellAliases.vimdiff = "nvim -d";
programs.fish.shellAliases.vimdiff = "nvim -d";
};
};
};
}