about summary refs log tree commit diff
path: root/pkgs/shells/fish/wrapper.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/shells/fish/wrapper.nix')
-rw-r--r--pkgs/shells/fish/wrapper.nix25
1 files changed, 15 insertions, 10 deletions
diff --git a/pkgs/shells/fish/wrapper.nix b/pkgs/shells/fish/wrapper.nix
index c5c55bb71103d..75213809821f2 100644
--- a/pkgs/shells/fish/wrapper.nix
+++ b/pkgs/shells/fish/wrapper.nix
@@ -1,4 +1,4 @@
-{ lib, writeShellScriptBin, fish, writeTextFile }:
+{ lib, writeShellApplication, fish, writeTextFile }:
 
 lib.makeOverridable ({
   completionDirs ? [],
@@ -6,7 +6,8 @@ lib.makeOverridable ({
   confDirs ? [],
   pluginPkgs ? [],
   localConfig ? "",
-  shellAliases ? {}
+  shellAliases ? {},
+  runtimeInputs ? []
 }:
 
 let
@@ -37,11 +38,15 @@ let
     ++ (map (vendorDir "conf") pluginPkgs)
     ++ (map (vendorDir "conf") [ localFishConfig shellAliasesFishConfig ]);
 
-in writeShellScriptBin "fish" ''
-  ${fish}/bin/fish --init-command "
-    set --prepend fish_complete_path ${lib.escapeShellArgs complPath}
-    set --prepend fish_function_path ${lib.escapeShellArgs funcPath}
-    set --local fish_conf_source_path ${lib.escapeShellArgs confPath}
-    for c in \$fish_conf_source_path/*; source \$c; end
-  " "$@"
-'')
+in writeShellApplication {
+  inherit runtimeInputs;
+  name = "fish";
+  text = ''
+    ${fish}/bin/fish --init-command "
+      set --prepend fish_complete_path ${lib.escapeShellArgs complPath}
+      set --prepend fish_function_path ${lib.escapeShellArgs funcPath}
+      set --local fish_conf_source_path ${lib.escapeShellArgs confPath}
+      for c in \$fish_conf_source_path/*; source \$c; end
+    " "$@"
+  '';
+})