blob: 4e108f0df7c8bed55480fa63ff8293524e9b8eac (
plain)
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
|
{}: rec {
pkgs = (import ../pkgs.nix).stable {};
gopls = pkgs.buildGoModule rec {
pname = "gopls";
version = "0.16.2";
src = "${pkgs.fetchFromGitHub {
owner = "golang";
repo = "tools";
rev = "gopls/v${version}";
sha256 = "sha256-amy00VMUcmyjDoZ4d9/+YswfcZ+1/cGvFsA4sAmc1dA=";
}}/gopls";
subPackages = ["."];
vendorHash = "sha256-ta94xPboFtSxFeuMtPX76XiC1O7osNl4oLk64wIyyz4=";
doCheck = false;
};
env = pkgs.buildEnv {
name = "nvim-env";
paths = [
gopls
];
};
init = pkgs.writeText "nvim-init.lua" ''
vim.cmd('source ${pkgs.vimPlugins.vim-plug}/plug.vim')
local Plug = vim.fn['plug#']
vim.call('plug#begin')
Plug('${pkgs.vimPlugins.nerdtree}', { ['on'] = 'NERDTreeToggle' })
Plug('${pkgs.vimPlugins.nerdtree-git-plugin}')
Plug('${pkgs.vimPlugins.vim-gitgutter}')
Plug('${pkgs.vimPlugins.nvim-lspconfig}')
Plug('${pkgs.vimPlugins.nvim-cmp}')
Plug('${pkgs.vimPlugins.cmp-nvim-lsp}')
vim.call('plug#end')
vim.cmd('source ${./init.vim}')
${builtins.readFile ./init.lua}
'';
nvim = pkgs.writeScriptBin "nvim" ''
#!${pkgs.bash}/bin/bash
export PATH=${env}/bin:$PATH
exec ${pkgs.neovim}/bin/nvim -u ${init} "$@"
'';
}
|