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 = true;
12 vimAlias = true;
13 withPython3 = true;
14 extraPackages = with pkgs; [
15 nixpkgs-fmt
16 gotools
17 gopls
18 go
19 sumneko-lua-language-server
20 pyright
21
22 tree-sitter-grammars.tree-sitter-bash
23 tree-sitter-grammars.tree-sitter-yaml
24 tree-sitter-grammars.tree-sitter-go
25 tree-sitter-grammars.tree-sitter-make
26 tree-sitter-grammars.tree-sitter-markdown
27 tree-sitter-grammars.tree-sitter-lua
28 tree-sitter-grammars.tree-sitter-html
29 tree-sitter-grammars.tree-sitter-vim
30 tree-sitter-grammars.tree-sitter-nix
31 tree-sitter-grammars.tree-sitter-python
32
33 zf
34 delve
35 ];
36 extraConfig = ''
37 runtime _init.lua
38 '';
39 plugins = with pkgs.vimPlugins; [
40 packer-nvim
41
42 nvim-cmp
43 cmp-buffer
44 cmp_luasnip
45 cmp-nvim-lsp
46 cmp-treesitter
47 cmp-path
48
49 nvim-lspconfig
50 luasnip
51 playground
52 vim-surround
53 targets-vim
54 vim-gitgutter
55 vim-rsi
56 nvim-treesitter-textobjects
57 conflict-marker-vim
58 vim-pencil
59 nvim-tree-lua
60
61 nvim-dap
62 nvim-dap-ui
63 nvim-dap-go
64 vim-textobj-user
65
66 copilot-lua
67 ];
68 };
69}