summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/simple
diff options
context:
space:
mode:
Diffstat (limited to 'krebs/5pkgs/simple')
-rw-r--r--krebs/5pkgs/simple/fzfmenu/default.nix55
-rw-r--r--krebs/5pkgs/simple/kpaste/default.nix4
2 files changed, 57 insertions, 2 deletions
diff --git a/krebs/5pkgs/simple/fzfmenu/default.nix b/krebs/5pkgs/simple/fzfmenu/default.nix
new file mode 100644
index 00000000..64e95d23
--- /dev/null
+++ b/krebs/5pkgs/simple/fzfmenu/default.nix
@@ -0,0 +1,55 @@
+{ 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)"
+ if [ -z ''${TERM+x} ]; then #check if we can print fzf in the shell
+ ${pkgs.rxvt_unicode}/bin/urxvt \
+ -name fzfmenu -title fzfmenu \
+ -e ${pkgs.dash}/bin/dash -c \
+ "echo \"$INPUT\" | ${pkgs.fzf}/bin/fzf \
+ --history=/dev/null \
+ --print-query \
+ --prompt=\"$PROMPT\" \
+ --reverse \
+ > \"$OUTPUT\"" 2>/dev/null
+ else
+ echo "$INPUT" | ${pkgs.fzf}/bin/fzf \
+ --history=/dev/null \
+ --print-query \
+ --prompt="$PROMPT" \
+ --reverse \
+ > "$OUTPUT"
+ fi
+ ${pkgs.coreutils}/bin/tail -1 "$OUTPUT"
+ ${pkgs.coreutils}/bin/rm "$OUTPUT"
+''
diff --git a/krebs/5pkgs/simple/kpaste/default.nix b/krebs/5pkgs/simple/kpaste/default.nix
index 217cb8a4..9820c931 100644
--- a/krebs/5pkgs/simple/kpaste/default.nix
+++ b/krebs/5pkgs/simple/kpaste/default.nix
@@ -1,6 +1,6 @@
{ curl, gnused, writeDashBin }:
writeDashBin "kpaste" ''
- ${curl}/bin/curl -sS http://p.r --data-binary @- |
- ${gnused}/bin/sed '$ {p;s/\<r\>/krebsco.de/}'
+ ${curl}/bin/curl -sS http://p.r --data-binary @"''${1:--}" |
+ ${gnused}/bin/sed '$ {p;s|http://p.r|https://p.krebsco.de|}'
''