2025-03-05 17:31:34 -03:00
|
|
|
{self}: {
|
|
|
|
|
config,
|
2025-07-23 23:32:20 -03:00
|
|
|
osConfig,
|
2025-03-05 17:31:34 -03:00
|
|
|
lib,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}: let
|
|
|
|
|
cfg = config.neovim;
|
|
|
|
|
in
|
|
|
|
|
with lib; {
|
2025-03-05 17:37:05 -03:00
|
|
|
options.neovim = {
|
2025-03-05 17:31:34 -03:00
|
|
|
enable = mkOption {
|
|
|
|
|
type = with types; bool;
|
|
|
|
|
default = true;
|
|
|
|
|
};
|
|
|
|
|
package = mkOption {
|
|
|
|
|
type = with types; package;
|
2025-07-23 23:32:20 -03:00
|
|
|
default = self.packages.${pkgs.system}.default;
|
2025-03-05 17:31:34 -03:00
|
|
|
};
|
|
|
|
|
vimdiffAlias = mkOption {
|
|
|
|
|
type = with types; bool;
|
|
|
|
|
default = true;
|
|
|
|
|
};
|
|
|
|
|
defaultEditor = mkOption {
|
|
|
|
|
type = with types; bool;
|
|
|
|
|
default = true;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
config = mkIf cfg.enable {
|
2025-08-30 13:38:53 -03:00
|
|
|
home.sessionVariables = {
|
|
|
|
|
EDITOR = "nvim";
|
|
|
|
|
};
|
2025-03-05 17:39:18 -03:00
|
|
|
home.packages = [cfg.package];
|
2025-03-05 17:31:34 -03:00
|
|
|
|
|
|
|
|
programs.bash.shellAliases = mkIf cfg.vimdiffAlias {vimdiff = "nvim -d";};
|
|
|
|
|
programs.fish.shellAliases = mkIf cfg.vimdiffAlias {vimdiff = "nvim -d";};
|
|
|
|
|
programs.zsh.shellAliases = mkIf cfg.vimdiffAlias {vimdiff = "nvim -d";};
|
|
|
|
|
|
|
|
|
|
# Disable home-manager's Neovim
|
|
|
|
|
programs.neovim.enable = mkForce false;
|
|
|
|
|
};
|
|
|
|
|
}
|