summaryrefslogtreecommitdiffstats
path: root/lass/5pkgs/fzfmenu/default.nix
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2018-12-07 13:20:49 +0100
committertv <tv@krebsco.de>2018-12-07 13:20:49 +0100
commit1d3a3c8104eac3e9a4ee7cdd961fcd61f706d173 (patch)
tree53ad5d4d3ecc88eeabba682fd1741bf3d1d96aa8 /lass/5pkgs/fzfmenu/default.nix
parentbfcf6ad0adaedf0d069850824fbbb55e4af20c5e (diff)
parent43be8e6bb38ea99ed489a8b6633ebb33b96b6282 (diff)
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'lass/5pkgs/fzfmenu/default.nix')
-rw-r--r--lass/5pkgs/fzfmenu/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/lass/5pkgs/fzfmenu/default.nix b/lass/5pkgs/fzfmenu/default.nix
new file mode 100644
index 00000000..905a5ce6
--- /dev/null
+++ b/lass/5pkgs/fzfmenu/default.nix
@@ -0,0 +1,45 @@
+{ pkgs, ... }:
+
+pkgs.writeDashBin "fzfmenu" ''
+ set -efu
+ PROMPT=">"
+ for i in "$@"
+ do
+ case $i in
+ -p)
+ PROMPT="$2"
+ shift
+ shift
+ break
+ ;;
+ -l)
+ # no reason to filter number of lines
+ LINES="$2"
+ shift
+ shift
+ break
+ ;;
+ -i)
+ # we do this anyway
+ shift
+ break
+ ;;
+ *)
+ echo "Unknown option $1" >&2
+ shift
+ ;;
+ esac
+ done
+ INPUT=$(${pkgs.coreutils}/bin/cat)
+ OUTPUT="$(${pkgs.coreutils}/bin/mktemp)"
+ ${pkgs.rxvt_unicode}/bin/urxvt \
+ -name fzfmenu -title fzfmenu \
+ -e ${pkgs.dash}/bin/dash -c \
+ "echo \"$INPUT\" | ${pkgs.fzf}/bin/fzf \
+ --history=/dev/null \
+ --no-sort \
+ --prompt=\"$PROMPT\" \
+ > \"$OUTPUT\"" 2>/dev/null
+ ${pkgs.coreutils}/bin/cat "$OUTPUT"
+ ${pkgs.coreutils}/bin/rm "$OUTPUT"
+''