diff options
author | pacien <pacien.trangirard@pacien.net> | 2020-12-29 09:44:18 +0100 |
---|---|---|
committer | pacien <pacien.trangirard@pacien.net> | 2021-01-04 18:53:59 +0100 |
commit | d94921db12d9c9e2d3e9c2e6e25e50f03f789ecb (patch) | |
tree | 21e602d52a67fe32defdda9ecbf8ff77166065d4 | |
parent | 59c1b6d0e770640758e8585f9bd1c8f98a59174a (diff) |
fish-foreign-env: move to fishPlugins.foreign-env
And relocate the installed fish functions to the `vendor_functions.d` so
that they're automatically loaded.
-rw-r--r-- | nixos/doc/manual/release-notes/rl-2103.xml | 8 | ||||
-rw-r--r-- | nixos/modules/programs/fish.nix | 8 | ||||
-rw-r--r-- | pkgs/shells/fish/plugins/default.nix | 2 | ||||
-rw-r--r-- | pkgs/shells/fish/plugins/foreign-env/default.nix (renamed from pkgs/shells/fish/fish-foreign-env/default.nix) | 18 | ||||
-rw-r--r-- | pkgs/shells/fish/plugins/foreign-env/suppress-harmless-warnings.patch (renamed from pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch) | 0 | ||||
-rw-r--r-- | pkgs/top-level/aliases.nix | 1 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
7 files changed, 23 insertions, 16 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2103.xml index 432de831cb67..dbc4ecd6930e 100644 --- a/nixos/doc/manual/release-notes/rl-2103.xml +++ b/nixos/doc/manual/release-notes/rl-2103.xml @@ -310,6 +310,14 @@ </para> </listitem> <listitem> + <para> + <package>fish-foreign-env</package> is now an alias for the + <package>fishPlugins.foreign-env</package> package, in which the fish + functions have been relocated to the + <literal>vendor_functions.d</literal> directory to be loaded automatically. + </para> + </listitem> + <listitem> <para> The prometheus json exporter is now managed by the prometheus community. Together with additional features some backwards incompatibilities were introduced. diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix index 50d1077dd410..34a0dc6a2df3 100644 --- a/nixos/modules/programs/fish.nix +++ b/nixos/modules/programs/fish.nix @@ -112,7 +112,7 @@ in environment.etc."fish/nixos-env-preinit.fish".text = '' # This happens before $__fish_datadir/config.fish sets fish_function_path, so it is currently # unset. We set it and then completely erase it, leaving its configuration to $__fish_datadir/config.fish - set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $__fish_datadir/functions + set fish_function_path ${pkgs.fishPlugins.foreign-env}/share/fish/vendor_functions.d $__fish_datadir/functions # source the NixOS environment config if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ] @@ -128,7 +128,7 @@ in # if we haven't sourced the general config, do it if not set -q __fish_nixos_general_config_sourced - set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path + set --prepend fish_function_path ${pkgs.fishPlugins.foreign-env}/share/fish/vendor_functions.d fenv source /etc/fish/foreign-env/shellInit > /dev/null set -e fish_function_path[1] @@ -142,7 +142,7 @@ in # if we haven't sourced the login config, do it status --is-login; and not set -q __fish_nixos_login_config_sourced and begin - set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path + set --prepend fish_function_path ${pkgs.fishPlugins.foreign-env}/share/fish/vendor_functions.d fenv source /etc/fish/foreign-env/loginShellInit > /dev/null set -e fish_function_path[1] @@ -158,7 +158,7 @@ in and begin ${fishAliases} - set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path + set --prepend fish_function_path ${pkgs.fishPlugins.foreign-env}/share/fish/vendor_functions.d fenv source /etc/fish/foreign-env/interactiveShellInit > /dev/null set -e fish_function_path[1] diff --git a/pkgs/shells/fish/plugins/default.nix b/pkgs/shells/fish/plugins/default.nix index 42ba860e8c55..e543d49516a8 100644 --- a/pkgs/shells/fish/plugins/default.nix +++ b/pkgs/shells/fish/plugins/default.nix @@ -6,6 +6,8 @@ lib.makeScope newScope (self: with self; { fishtape = callPackage ./fishtape.nix { }; + foreign-env = callPackage ./foreign-env { }; + pure = callPackage ./pure.nix { }; }) diff --git a/pkgs/shells/fish/fish-foreign-env/default.nix b/pkgs/shells/fish/plugins/foreign-env/default.nix index ef157f323923..03435340d179 100644 --- a/pkgs/shells/fish/fish-foreign-env/default.nix +++ b/pkgs/shells/fish/plugins/foreign-env/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchFromGitHub, gnused, bash, coreutils }: +{ lib, buildFishPlugin, fetchFromGitHub, gnused, bash, coreutils }: -stdenv.mkDerivation { - pname = "fish-foreign-env"; +buildFishPlugin { + pname = "foreign-env"; version = "git-20200209"; src = fetchFromGitHub { @@ -11,18 +11,16 @@ stdenv.mkDerivation { sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"; }; - installPhase = '' - mkdir -p $out/share/fish-foreign-env/functions/ - cp functions/* $out/share/fish-foreign-env/functions/ + patches = [ ./suppress-harmless-warnings.patch ]; + + preInstall = '' sed -e "s|sed|${gnused}/bin/sed|" \ -e "s|bash|${bash}/bin/bash|" \ -e "s|\| tr|\| ${coreutils}/bin/tr|" \ - -i $out/share/fish-foreign-env/functions/* + -i functions/* ''; - patches = [ ./suppress-harmless-warnings.patch ]; - - meta = with stdenv.lib; { + meta = with lib; { description = "A foreign environment interface for Fish shell"; license = licenses.mit; maintainers = with maintainers; [ jgillich ]; diff --git a/pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch b/pkgs/shells/fish/plugins/foreign-env/suppress-harmless-warnings.patch index 6eed35152120..6eed35152120 100644 --- a/pkgs/shells/fish/fish-foreign-env/suppress-harmless-warnings.patch +++ b/pkgs/shells/fish/plugins/foreign-env/suppress-harmless-warnings.patch diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4a4277c20729..01c80ea3d804 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -158,6 +158,7 @@ mapAliases ({ firefoxWrapper = firefox; # 2015-09 firestr = throw "firestr has been removed."; # added 2019-12-08 + fish-foreign-env = fishPlugins.foreign-env; # added 2020-12-29 flameGraph = flamegraph; # added 2018-04-25 flvtool2 = throw "flvtool2 has been removed."; # added 2020-11-03 foldingathome = fahclient; # added 2020-09-03 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 55a327dab5a5..e6a56903ff89 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8841,8 +8841,6 @@ in fishPlugins = recurseIntoAttrs (callPackage ../shells/fish/plugins { }); - fish-foreign-env = callPackage ../shells/fish/fish-foreign-env { }; - ion = callPackage ../shells/ion { inherit (darwin) Security; }; |