diff --git a/modules/top-level/output.nix b/modules/top-level/output.nix index 360b91d8..030ef2d7 100644 --- a/modules/top-level/output.nix +++ b/modules/top-level/output.nix @@ -285,8 +285,10 @@ in } ); + wrappedNeovim' = pkgs.wrapNeovimUnstable package neovimConfig; + customRC = helpers.concatNonEmptyLines [ - (helpers.wrapVimscriptForLua neovimConfig.neovimRcContent) + (helpers.wrapVimscriptForLua wrappedNeovim'.initRc) config.content ]; @@ -330,13 +332,13 @@ in else config.package; - wrappedNeovim = pkgs.wrapNeovimUnstable package ( - neovimConfig - // { - wrapperArgs = lib.escapeShellArgs neovimConfig.wrapperArgs + " " + extraWrapperArgs; - wrapRc = false; - } - ); + wrappedNeovim = wrappedNeovim'.override (prev: { + wrapperArgs = + (if lib.isString prev.wrapperArgs then prev.wrapperArgs else lib.escapeShellArgs prev.wrapperArgs) + + " " + + extraWrapperArgs; + wrapRc = false; + }); in { build = { diff --git a/tests/test-sources/modules/output.nix b/tests/test-sources/modules/output.nix index b3d4f85f..aa021685 100644 --- a/tests/test-sources/modules/output.nix +++ b/tests/test-sources/modules/output.nix @@ -48,7 +48,7 @@ extraPlugins = [ { - config = "let g:var = 'neovimRcContent5'"; + config = "let g:var = 'wrappedNeovim.initRc5'"; # Test that final init.lua contains all config sections plugin = pkgs.runCommandLocal "init-lua-content-test" { } '' @@ -63,7 +63,7 @@ test_content extraConfigLua2 extraConfigLua test_content extraConfigLuaPost3 extraConfigLuaPost test_content extraConfigVim4 extraConfigVim4 - test_content neovimRcContent5 neovimRcContent + test_content wrappedNeovim.initRc5 wrappedNeovim.initRc touch $out '';