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 nodePackages.vscode-langservers-extracted
20 nodePackages.typescript-language-server
21 nodePackages.typescript
22 nodePackages.eslint
23 sumneko-lua-language-server
24 ];
25 extraConfig = ''
26 runtime _init.lua
27 '';
28 plugins = with pkgs.vimPlugins; [
29 packer-nvim
30
31 nvim-cmp
32 cmp-buffer
33 cmp_luasnip
34 cmp-nvim-lsp
35 cmp-treesitter
36 cmp-path
37
38
39 nvim-lspconfig
40 (nvim-treesitter.withPlugins (_: pkgs.tree-sitter.allGrammars))
41 luasnip
42 playground
43 vim-surround
44 targets-vim
45 vim-gitgutter
46 vim-rsi
47 nvim-treesitter-textobjects
48 conflict-marker-vim
49 vim-jsonnet
50 vim-pencil
51 ];
52 };
53}