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