output: add extraPackagesAfter option
Some checks are pending
Build and deploy documentation / deploy (push) Waiting to run
Publish every Git push to main to FlakeHub / flakehub-publish (push) Waiting to run
Publish every git push to Flakestry / publish-flake (push) Waiting to run

Allow users to add packages to the end of `PATH` in the neovim wrapper.
This is useful for LSP versions that might need to be overriden based on
the environment, e.g. `haskell-language-server` versions provided by a
project's devshell.
This commit is contained in:
sportshead 2025-06-08 13:14:17 +01:00 committed by Matt Sturgeon
parent dce571fae5
commit 2b6f694b48
3 changed files with 23 additions and 1 deletions

View file

@ -58,7 +58,14 @@ in
extraPackages = mkOption {
type = with types; listOf (nullOr package);
default = [ ];
description = "Extra packages to be made available to neovim";
description = "Extra packages to be made available to neovim, added to the start of `PATH`";
apply = builtins.filter (p: p != null);
};
extraPackagesAfter = mkOption {
type = with types; listOf (nullOr package);
default = [ ];
description = "Extra packages to be made available to neovim, added to the end of `PATH`";
apply = builtins.filter (p: p != null);
};

View file

@ -241,6 +241,9 @@ in
++ (optional (
config.extraPackages != [ ]
) ''--prefix PATH : "${lib.makeBinPath config.extraPackages}"'')
++ (optional (
config.extraPackagesAfter != [ ]
) ''--suffix PATH : "${lib.makeBinPath config.extraPackagesAfter}"'')
++ (optional config.wrapRc ''--add-flags -u --add-flags "${initFile}"'')
);