Commit bd66006c authored by teto's avatar teto
Browse files

neovim: set provider configuration to initrc

as an attempt to simplify configuration: 
instead of having wrapping arguments + an optional neovim configuration
let's always generate a neovim configuration.
The change should be transparent for most users, and require
intervention for users that fulfill both conditions:
- using remote plugins (rare already)
- that set `wrapRc = false` in wrapNeovimUnstable without loading later
  the generated luaRcContent

The fix is then to pass as wrapping arguments the wrapper's generated config via 

(wrapNeovimUnstable neovim-unwrapped { } ).overrideAttrs(oa: { wrapperArgs = oa.wrapperArgs ++ [ ''--cmd "lua dofile('${writeText "init.lua" oa.luaRcContent}')"'' ]; })

neovim: avoid creating empty newlines
parent 9ae96f2f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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}
+12 −14
Original line number Diff line number Diff line
@@ -104,13 +104,16 @@ let
        packpathDirs.myNeovimPackages = vimPackageInfo.vimPackage;
        finalPackdir = neovimUtils.packDir packpathDirs;

        rcContent = ''
          ${luaRcContent}
        ''
        + lib.optionalString (neovimRcContent' != "") ''
        rcContent = lib.concatStringsSep "\n" (
          [
            providerLuaRc
          ]
          ++ lib.optional (luaRcContent != "") luaRcContent
          ++ lib.optional (neovimRcContent' != "") ''
            vim.cmd.source "${writeText "init.vim" neovimRcContent'}"
          ''
        + lib.optionalString autoconfigure (lib.concatStringsSep "\n" vimPackageInfo.pluginAdvisedLua);
          ++ 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 != [ ]
@@ -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;