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