nix/programs/neovim.nix (view raw)
1{ config
2, pkgs
3, self
4, lib
5, ...
6}:
7
8{
9 programs.neovim = {
10 enable = true;
11 withNodeJs = false;
12 vimAlias = true;
13 withPython3 = true;
14 extraPackages = with pkgs; [
15 gotools
16 gopls
17 go
18 nodePackages.vscode-langservers-extracted
19 nodePackages.typescript-language-server
20 nodePackages.typescript
21 nodePackages.eslint
22 sumneko-lua-language-server
23 ];
24 extraConfig = ''
25 runtime _init.lua
26 '';
27 plugins = with pkgs.vimPlugins; [
28 packer-nvim
29
30 nvim-cmp
31 cmp-buffer
32 cmp_luasnip
33 cmp-nvim-lsp
34 cmp-treesitter
35 cmp-path
36
37
38 nvim-lspconfig
39 (nvim-treesitter.withPlugins (_: pkgs.tree-sitter.allGrammars))
40 luasnip
41 playground
42 vim-surround
43 targets-vim
44 vim-gitgutter
45 vim-rsi
46 nvim-treesitter-textobjects
47 conflict-marker-vim
48 vim-jsonnet
49 vim-pencil
50 ];
51 };
52}