|
11 | 11 | let
|
12 | 12 | pkgs = nixpkgs.legacyPackages.${system};
|
13 | 13 |
|
14 |
| - mkPackage = luaVersion: |
15 |
| - pkgs."lua${luaVersion}Packages".luarocks; |
16 |
| - |
17 | 14 | mkDevShell = luaVersion:
|
18 | 15 | let
|
19 |
| - luaPkgs = pkgs."lua${luaVersion}".pkgs; |
| 16 | + # luaPkgs = pkgs."lua${luaVersion}".pkgs; |
20 | 17 | luaEnv = pkgs."lua${luaVersion}".withPackages (lp: with lp; [
|
21 | 18 | luacheck
|
22 | 19 | luarocks
|
23 |
| - (pkgs.lib.hiPrio plenary-nvim) |
24 | 20 | ]);
|
| 21 | + neovimConfig = pkgs.neovimUtils.makeNeovimConfig { |
| 22 | + plugins = with pkgs.vimPlugins; [ |
| 23 | + { |
| 24 | + plugin = packer-nvim; |
| 25 | + type = "lua"; |
| 26 | + config = '' |
| 27 | + require('packer').init({ |
| 28 | + luarocks = { |
| 29 | + python_cmd = 'python' -- Set the python command to use for running hererocks |
| 30 | + }, |
| 31 | + }) |
| 32 | + -- require my own manual config |
| 33 | + require('init-manual') |
| 34 | + ''; |
| 35 | + } |
| 36 | + { plugin = (nvim-treesitter.withPlugins ( |
| 37 | + plugins: with plugins; [ |
| 38 | + tree-sitter-lua |
| 39 | + tree-sitter-http |
| 40 | + tree-sitter-json |
| 41 | + ] |
| 42 | + )); |
| 43 | + } |
| 44 | + { plugin = plenary-nvim; } |
| 45 | + ]; |
| 46 | + customRC = ""; |
| 47 | + wrapRc = false; |
| 48 | + }; |
| 49 | + myNeovim = pkgs.wrapNeovimUnstable pkgs.neovim-unwrapped neovimConfig; |
25 | 50 | in
|
26 |
| - luaPkgs.luarocks.overrideAttrs (oa: { |
27 |
| - name = "luarocks-dev"; |
28 |
| - buildInputs = oa.buildInputs ++ [ |
| 51 | + pkgs.mkShell { |
| 52 | + name = "rest-nvim"; |
| 53 | + buildInputs = [ |
29 | 54 | pkgs.sumneko-lua-language-server
|
30 | 55 | luaEnv
|
31 | 56 | pkgs.stylua
|
| 57 | + myNeovim |
32 | 58 | # pkgs.neovim # assume user has one already installed
|
33 | 59 | ];
|
34 |
| - }); |
| 60 | + |
| 61 | + shellHook = let |
| 62 | + myVimPackage = with pkgs.vimPlugins; { |
| 63 | + start = [ plenary-nvim (nvim-treesitter.withPlugins ( |
| 64 | + plugins: with plugins; [ |
| 65 | + tree-sitter-lua |
| 66 | + tree-sitter-http |
| 67 | + tree-sitter-json |
| 68 | + ] |
| 69 | + ))]; |
| 70 | + # opt = map (x: x.plugin) pluginsPartitioned.right; |
| 71 | + }; |
| 72 | + # }; |
| 73 | + packDirArgs.myNeovimPackages = myVimPackage; |
| 74 | + in |
| 75 | + '' |
| 76 | + cat <<-EOF > minimal.vim |
| 77 | + set rtp+=. |
| 78 | + set packpath^=${pkgs.vimUtils.packDir packDirArgs} |
| 79 | + EOF |
| 80 | + ''; |
| 81 | + }; |
35 | 82 |
|
36 | 83 | in
|
37 | 84 | {
|
38 | 85 |
|
39 |
| - packages = { |
40 |
| - default = self.packages.${system}.luarocks-51; |
41 |
| - luarocks-51 = mkPackage "5_1"; |
42 |
| - luarocks-52 = mkPackage "52"; |
43 |
| - }; |
| 86 | + # packages = { |
| 87 | + # default = self.packages.${system}.luarocks-51; |
| 88 | + # luarocks-51 = mkPackage "5_1"; |
| 89 | + # luarocks-52 = mkPackage "5_2"; |
| 90 | + # }; |
44 | 91 |
|
45 | 92 | devShells = {
|
46 | 93 | default = self.devShells.${system}.luajit;
|
|
0 commit comments