Files
nixos/hosts/nb-01.cloonar.com/modules/nvim/default.nix
2024-06-10 18:52:00 +02:00

91 lines
2.2 KiB
Nix

{ pkgs, ... }:
{
environment.variables = { EDITOR = "vim"; };
environment.systemPackages = with pkgs; [
nodePackages.typescript-language-server
sumneko-lua-language-server
nodePackages.intelephense
nodePackages.vscode-css-languageserver-bin
nodePackages.yaml-language-server
gopls
lazygit
ripgrep
(neovim.override {
vimAlias = true;
configure = {
packages.myPlugins = with pkgs.vimPlugins; {
start = [
bufferline-nvim
catppuccin-nvim
cmp-buffer
cmp-nvim-lsp
cmp-path
cmp-spell
cmp-treesitter
cmp-vsnip
comment-nvim
copilot-vim
copilot-lua
copilot-cmp
CopilotChat-nvim
dracula-vim
friendly-snippets
gitsigns-nvim
lightline-vim
lspkind-nvim
neogit
null-ls-nvim
nvim-autopairs
nvim-cmp
nvim-colorizer-lua
nvim-lspconfig
nvim-tree-lua
pkgs.vimPlugins.nvim-treesitter.withAllGrammars
# (nvim-treesitter.withPlugins (_: pkgs.tree-sitter.allGrammars))
plenary-nvim
project-nvim
rainbow-delimiters-nvim
telescope-fzf-native-nvim
telescope-nvim
todo-comments-nvim
toggleterm-nvim
vim-floaterm
vim-sneak
vim-vsnip
which-key-nvim
];
opt = [];
};
customRC = let
luaRequire = module:
builtins.readFile (builtins.toString
./config
+ "/${module}.lua");
luaConfig = builtins.concatStringsSep "\n" (map luaRequire [
"init"
"keymappings"
"copilot"
"icons"
"lspconfig"
"nvim-cmp"
"theming"
"project"
"telescope"
"terminal"
"treesitter"
"treesitter-textobjects"
"utils"
"bufferline"
"which-key"
]);
in ''
lua << EOF
${luaConfig}
EOF
'';
};
}
)];
}