···148 , vimAlias ? false
149 , viAlias ? false
150 , configure ? {}
0151 }:
152 let
153 /* for compatibility with passing extraPythonPackages as a list; added 2018-07-11 */
···160 extraPython3Packages = compatFun extraPython3Packages;
161 inherit withNodeJs withRuby viAlias vimAlias;
162 inherit configure;
0163 };
164 in
165 assert withPython -> throw "Python2 support has been removed from neovim, please remove withPython and extraPythonPackages.";
···148 , vimAlias ? false
149 , viAlias ? false
150 , configure ? {}
151+ , extraName ? ""
152 }:
153 let
154 /* for compatibility with passing extraPythonPackages as a list; added 2018-07-11 */
···161 extraPython3Packages = compatFun extraPython3Packages;
162 inherit withNodeJs withRuby viAlias vimAlias;
163 inherit configure;
164+ inherit extraName;
165 };
166 in
167 assert withPython -> throw "Python2 support has been removed from neovim, please remove withPython and extraPythonPackages.";
+16-12
pkgs/applications/editors/neovim/wrapper.nix
···27 # set to false if you want to control where to save the generated config
28 # (e.g., in ~/.config/init.vim or project/.nvimrc)
29 , wrapRc ? true
030 , ...
31 }@args:
32 let
3334 wrapperArgsStr = if isString wrapperArgs then wrapperArgs else lib.escapeShellArgs wrapperArgs;
3536- # If configure != {}, we can't generate the rplugin.vim file with e.g
37- # NVIM_SYSTEM_RPLUGIN_MANIFEST *and* NVIM_RPLUGIN_MANIFEST env vars set in
38- # the wrapper. That's why only when configure != {} (tested both here and
39- # when postBuild is evaluated), we call makeWrapper once to generate a
40- # wrapper with most arguments we need, excluding those that cause problems to
41- # generate rplugin.vim, but still required for the final wrapper.
42- finalMakeWrapperArgs =
43- [ "${neovim}/bin/nvim" "${placeholder "out"}/bin/nvim" ]
44- ++ [ "--set" "NVIM_SYSTEM_RPLUGIN_MANIFEST" "${placeholder "out"}/rplugin.vim" ]
45- ++ optionals wrapRc [ "--add-flags" "-u ${writeText "init.vim" args.neovimRcContent}" ]
46- ;
47 in
48 assert withPython2 -> throw "Python2 support has been removed from the neovim wrapper, please remove withPython2 and python2Env.";
49···116 preferLocalBuild = true;
117118 nativeBuildInputs = [ makeWrapper ];
119- passthru = { unwrapped = neovim; };
000120121 meta = neovim.meta // {
122 # To prevent builds on hydra
···27 # set to false if you want to control where to save the generated config
28 # (e.g., in ~/.config/init.vim or project/.nvimrc)
29 , wrapRc ? true
30+ , neovimRcContent ? ""
31 , ...
32 }@args:
33 let
3435 wrapperArgsStr = if isString wrapperArgs then wrapperArgs else lib.escapeShellArgs wrapperArgs;
3637+ # If configure != {}, we can't generate the rplugin.vim file with e.g
38+ # NVIM_SYSTEM_RPLUGIN_MANIFEST *and* NVIM_RPLUGIN_MANIFEST env vars set in
39+ # the wrapper. That's why only when configure != {} (tested both here and
40+ # when postBuild is evaluated), we call makeWrapper once to generate a
41+ # wrapper with most arguments we need, excluding those that cause problems to
42+ # generate rplugin.vim, but still required for the final wrapper.
43+ finalMakeWrapperArgs =
44+ [ "${neovim}/bin/nvim" "${placeholder "out"}/bin/nvim" ]
45+ ++ [ "--set" "NVIM_SYSTEM_RPLUGIN_MANIFEST" "${placeholder "out"}/rplugin.vim" ]
46+ ++ optionals wrapRc [ "--add-flags" "-u ${writeText "init.vim" neovimRcContent}" ]
47+ ;
48 in
49 assert withPython2 -> throw "Python2 support has been removed from the neovim wrapper, please remove withPython2 and python2Env.";
50···117 preferLocalBuild = true;
118119 nativeBuildInputs = [ makeWrapper ];
120+ passthru = {
121+ unwrapped = neovim;
122+ initRc = neovimRcContent;
123+ };
124125 meta = neovim.meta // {
126 # To prevent builds on hydra