43 lines
1.4 KiB
Nix
43 lines
1.4 KiB
Nix
{ pkgs, lib, config, ... }:
|
|
{
|
|
options.modules.apps.neovim = {
|
|
enableLanguages = lib.mkEnableOption "enable LSP languages";
|
|
};
|
|
|
|
config = {
|
|
programs.neovim =
|
|
{
|
|
enable = true;
|
|
extraPackages = with pkgs; [
|
|
ripgrep
|
|
luarocks
|
|
gnumake
|
|
wget
|
|
nixpkgs-fmt
|
|
tree-sitter
|
|
fd
|
|
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages cargo)
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages gcc)
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages go)
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages jdk22)
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages lua51Packages.lua)
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages nodejs)
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages php83Packages.composer)
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages php83)
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages opam)
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages
|
|
(python3.withPackages (python-pkgs: [
|
|
python-pkgs.pip
|
|
python-pkgs.black
|
|
])))
|
|
(lib.mkIf config.modules.apps.neovim.enableLanguages haskell-language-server)
|
|
];
|
|
defaultEditor = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
|
|
extraLuaConfig = lib.fileContents ./init.lua;
|
|
};
|
|
};
|
|
}
|