about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2016-04-09 20:08:46 +0300
committerTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2016-04-09 20:08:46 +0300
commit03c6434756535b1ea8a159dedda820f38b214301 (patch)
tree24cb8ed8aedb3a91beb374da7df5fc519141765d
parent34732f0369da042a567d9b922ee2f1d042d810b3 (diff)
parenta011083cdaaa08acdc44578272b9a3adcd3f74ac (diff)
downloadnixlib-03c6434756535b1ea8a159dedda820f38b214301.tar
nixlib-03c6434756535b1ea8a159dedda820f38b214301.tar.gz
nixlib-03c6434756535b1ea8a159dedda820f38b214301.tar.bz2
nixlib-03c6434756535b1ea8a159dedda820f38b214301.tar.lz
nixlib-03c6434756535b1ea8a159dedda820f38b214301.tar.xz
nixlib-03c6434756535b1ea8a159dedda820f38b214301.tar.zst
nixlib-03c6434756535b1ea8a159dedda820f38b214301.zip
Merge pull request #14526 from Profpatsch/fish-completions
fish: pick up completion files from other packages
-rw-r--r--nixos/modules/programs/fish.nix3
-rw-r--r--pkgs/shells/fish/default.nix3
-rw-r--r--pkgs/tools/security/pass/default.nix2
3 files changed, 7 insertions, 1 deletions
diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix
index b4259f7ec87d..7a4b78118ce6 100644
--- a/nixos/modules/programs/fish.nix
+++ b/nixos/modules/programs/fish.nix
@@ -101,6 +101,9 @@ in
       end
     '';
 
+    # include programs that bring their own completions
+    environment.pathsToLink = [ "/share/fish/vendor_completions.d" ];
+
     environment.systemPackages = [ pkgs.fish ];
 
     environment.shells = [
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 521212940672..63f5dbd05ddb 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -59,6 +59,9 @@ stdenv.mkDerivation rec {
   '' + ''
     sed -i "s|/sbin /usr/sbin||" \
            "$out/share/fish/functions/__fish_complete_subcommand_root.fish"
+
+    # make fish pick up completions from nix profile
+    echo "set fish_complete_path (echo \$NIX_PROFILES | tr ' ' '\n')\"/share/fish/vendor_completions.d\" \$fish_complete_path" >> $out/share/fish/config.fish
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 56e20726793d..2f6769b929b8 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   preInstall = ''
     mkdir -p "$out/share/bash-completion/completions"
     mkdir -p "$out/share/zsh/site-functions"
-    mkdir -p "$out/share/fish/completions"
+    mkdir -p "$out/share/fish/vendor_completions.d"
   '';
 
   installFlags = [ "PREFIX=$(out)" ];