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 nixpkgs-fmt
16 gotools
17 gopls
18 go
19 cargo
20 rust-analyzer
21 rustc
22 nodePackages.vscode-langservers-extracted
23 nodePackages.typescript-language-server
24 nodePackages.typescript
25 nodePackages.eslint
26 sumneko-lua-language-server
27
28 tree-sitter-grammars.tree-sitter-bash
29 tree-sitter-grammars.tree-sitter-yaml
30 tree-sitter-grammars.tree-sitter-go
31 tree-sitter-grammars.tree-sitter-make
32 tree-sitter-grammars.tree-sitter-markdown
33 tree-sitter-grammars.tree-sitter-lua
34 tree-sitter-grammars.tree-sitter-html
35 tree-sitter-grammars.tree-sitter-vim
36 tree-sitter-grammars.tree-sitter-nix
37
38 zf
39 ];
40 extraConfig = ''
41 runtime _init.lua
42 '';
43 plugins = with pkgs.vimPlugins; [
44 packer-nvim
45
46 nvim-cmp
47 cmp-buffer
48 cmp_luasnip
49 cmp-nvim-lsp
50 cmp-treesitter
51 cmp-path
52
53
54 nvim-lspconfig
55 luasnip
56 playground
57 vim-surround
58 targets-vim
59 vim-gitgutter
60 vim-rsi
61 nvim-treesitter-textobjects
62 conflict-marker-vim
63 vim-jsonnet
64 vim-pencil
65 ];
66 };
67}