summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/misc/fzf/default.nix10
1 files changed, 9 insertions, 1 deletions
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 872a02ed9de..e1e998b7b56 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, ncurses, buildGoPackage, fetchFromGitHub }:
+{ stdenv, lib, ncurses, buildGoPackage, fetchFromGitHub, writeText }:
 
 buildGoPackage rec {
   name = "fzf-${version}";
@@ -16,6 +16,8 @@ buildGoPackage rec {
 
   outputs = [ "bin" "out" "man" ];
 
+  fishHook = writeText "load-fzf-keybindings.fish" "fzf_key_bindings";
+
   buildInputs = [ ncurses ];
 
   goDeps = ./deps.nix;
@@ -25,6 +27,12 @@ buildGoPackage rec {
     sed -i -e "s|expand('<sfile>:h:h').'/bin/fzf-tmux'|'$bin/bin/fzf-tmux'|" plugin/fzf.vim
   '';
 
+  preInstall = ''
+    mkdir -p $bin/share/fish/vendor_functions.d $bin/share/fish/vendor_conf.d
+    cp $src/shell/key-bindings.fish $bin/share/fish/vendor_functions.d/fzf_key_bindings.fish
+    cp ${fishHook} $bin/share/fish/vendor_conf.d/load-fzf-key-bindings.fish
+  '';
+
   postInstall = ''
     cp $src/bin/fzf-tmux $bin/bin
     mkdir -p $man/share/man