48 lines
1.2 KiB
Nix
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";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|