diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 14daa0dafbfa..45a5fccfafd4 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -183,6 +183,8 @@ - `openrgb` was updated to 1.0rc2, which now uses Plugin API version 4. Some existing OpenRGB plugins may be incompatible or require updates. +- the `neovim` wrapper sets provider-related configuration in its generated config rather than as wrapper arguments. It should not affect configuration unless you set `wrapRc` to false. + - We now use the upstream wrapper script for Gradle, supporting both the `JAVA_HOME` and `GRADLE_OPTS` environment variables. ## Nixpkgs Library {#sec-nixpkgs-release-26.05-lib} diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index e8f04ad30fc3..6c97a6f22377 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -104,13 +104,16 @@ let packpathDirs.myNeovimPackages = vimPackageInfo.vimPackage; finalPackdir = neovimUtils.packDir packpathDirs; - rcContent = '' - ${luaRcContent} - '' - + lib.optionalString (neovimRcContent' != "") '' - vim.cmd.source "${writeText "init.vim" neovimRcContent'}" - '' - + lib.optionalString autoconfigure (lib.concatStringsSep "\n" vimPackageInfo.pluginAdvisedLua); + rcContent = lib.concatStringsSep "\n" ( + [ + providerLuaRc + ] + ++ lib.optional (luaRcContent != "") luaRcContent + ++ lib.optional (neovimRcContent' != "") '' + vim.cmd.source "${writeText "init.vim" neovimRcContent'}" + '' + ++ lib.optionals autoconfigure vimPackageInfo.pluginAdvisedLua + ); python3Env = lib.warnIf (attrs ? python3Env) @@ -125,12 +128,7 @@ let wrapperArgsStr = if lib.isString wrapperArgs then wrapperArgs else lib.escapeShellArgs wrapperArgs; - generatedWrapperArgs = [ - # vim accepts a limited number of commands so we join all the provider ones - "--add-flags" - ''--cmd "lua ${providerLuaRc}"'' - ] - ++ + generatedWrapperArgs = lib.optionals ( finalAttrs.packpathDirs.myNeovimPackages.start != [ ] @@ -142,17 +140,17 @@ let "--add-flags" ''--cmd "set rtp^=${finalPackdir}"'' ] - ++ lib.optionals finalAttrs.withRuby [ - "--set" - "GEM_HOME" - "${rubyEnv}/${rubyEnv.ruby.gemPath}" - ] - ++ lib.optionals (finalAttrs.runtimeDeps != [ ]) [ - "--suffix" - "PATH" - ":" - (lib.makeBinPath finalAttrs.runtimeDeps) - ]; + ++ lib.optionals finalAttrs.withRuby [ + "--set" + "GEM_HOME" + "${rubyEnv}/${rubyEnv.ruby.gemPath}" + ] + ++ lib.optionals (finalAttrs.runtimeDeps != [ ]) [ + "--suffix" + "PATH" + ":" + (lib.makeBinPath finalAttrs.runtimeDeps) + ]; providerLuaRc = neovimUtils.generateProviderRc { inherit (finalAttrs) @@ -181,7 +179,7 @@ let ++ lib.optionals finalAttrs.wrapRc [ "--set-default" "VIMINIT" - "lua dofile('${writeText "init.lua" rcContent}')" + "lua dofile('${writeText "init.lua" finalAttrs.luaRcContent}')" ] ++ finalAttrs.generatedWrapperArgs;