all repos — dotfiles @ 59eb251f2e66312d3fb43546b3e8ad898ff7885d

my *nix dotfiles

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