diff options
Diffstat (limited to 'modules/tools/neovim/default.nix')
| -rw-r--r-- | modules/tools/neovim/default.nix | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/modules/tools/neovim/default.nix b/modules/tools/neovim/default.nix new file mode 100644 index 0000000..2c0b7aa --- /dev/null +++ b/modules/tools/neovim/default.nix @@ -0,0 +1,36 @@ +{ pkgs, config, lib, ... }: + +{ + options.tools.neovim = { + enable = lib.mkEnableOption "Enables neovim."; + profile = lib.mkOption { + type = lib.types.enum [ + "minimal" + "full" + ]; + default = "minimal"; + description = "The profile for neovim to use."; + }; + }; + + config = + let + plugins = import ./plugins { inherit config pkgs lib; }; + in lib.mkIf config.tools.neovim.enable { + programs.neovim.enable = true; + programs.neovim.viAlias = true; + programs.neovim.vimAlias = true; + programs.neovim.vimdiffAlias = true; + programs.neovim.defaultEditor = true; + + home.packages = plugins.requirements; + + programs.neovim.extraLuaConfig = + '' +${import ./config} +${plugins.configuration} + ''; + + programs.neovim.plugins = plugins.list; + }; +} |
