tv fzmenu: init
This commit is contained in:
parent
88ac2f4081
commit
09556c7538
41
tv/5pkgs/simple/fzmenu/bin/otpmenu
Executable file
41
tv/5pkgs/simple/fzmenu/bin/otpmenu
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
set -efu
|
||||||
|
|
||||||
|
#PATH=
|
||||||
|
|
||||||
|
case ${FZMENU_PHASE-0} in
|
||||||
|
0)
|
||||||
|
export FZMENU_PHASE=1
|
||||||
|
exec setsid -f urxvt -name fzmenu-urxvt -e dash "$0"
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
if result=$(
|
||||||
|
FZF_DEFAULT_OPTS=${FZMENU_FZF_DEFAULT_OPTS-}
|
||||||
|
if test -n "$FZF_DEFAULT_OPTS"; then
|
||||||
|
export FZF_DEFAULT_OPTS
|
||||||
|
fi
|
||||||
|
pass git ls-files '*/otp.gpg' | \
|
||||||
|
sed '
|
||||||
|
|
||||||
|
s/\/otp\.gpg$//
|
||||||
|
' |
|
||||||
|
exec fzf \
|
||||||
|
--history=/dev/null \
|
||||||
|
--no-sort \
|
||||||
|
--prompt='OTP: ' \
|
||||||
|
)
|
||||||
|
then
|
||||||
|
export FZMENU_PHASE=2
|
||||||
|
export FZMENU_RESULT="$result"
|
||||||
|
setsid -f "$0"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
pass=$(pass otp code "$FZMENU_RESULT/otp")
|
||||||
|
printf %s "$pass" |
|
||||||
|
xdotool type -f -
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "$0: error: bad phase: $FZMENU_PHASE" >&2
|
||||||
|
exit -1
|
||||||
|
esac
|
41
tv/5pkgs/simple/fzmenu/bin/passmenu
Executable file
41
tv/5pkgs/simple/fzmenu/bin/passmenu
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
set -efu
|
||||||
|
|
||||||
|
#PATH=
|
||||||
|
|
||||||
|
case ${FZMENU_PHASE-0} in
|
||||||
|
0)
|
||||||
|
export FZMENU_PHASE=1
|
||||||
|
exec setsid -f urxvt -name fzmenu-urxvt -e dash "$0"
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
if result=$(
|
||||||
|
FZF_DEFAULT_OPTS=${FZMENU_FZF_DEFAULT_OPTS-}
|
||||||
|
if test -n "$FZF_DEFAULT_OPTS"; then
|
||||||
|
export FZF_DEFAULT_OPTS
|
||||||
|
fi
|
||||||
|
pass git ls-files '*/*.gpg' | \
|
||||||
|
sed '
|
||||||
|
/\/otp\.gpg$:/d
|
||||||
|
s/\.gpg$//
|
||||||
|
' |
|
||||||
|
exec fzf \
|
||||||
|
--history=/dev/null \
|
||||||
|
--no-sort \
|
||||||
|
--prompt='pass: ' \
|
||||||
|
)
|
||||||
|
then
|
||||||
|
export FZMENU_PHASE=2
|
||||||
|
export FZMENU_RESULT="$result"
|
||||||
|
setsid -f "$0"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
pass=$(pass show "$FZMENU_RESULT")
|
||||||
|
printf %s "$pass" |
|
||||||
|
xdotool type -f -
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "$0: error: bad phase: $FZMENU_PHASE" >&2
|
||||||
|
exit -1
|
||||||
|
esac
|
34
tv/5pkgs/simple/fzmenu/default.nix
Normal file
34
tv/5pkgs/simple/fzmenu/default.nix
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{ coreutils, dash, gnused, fzf, pass, runCommand, rxvt_unicode, stdenv, utillinux, xdotool }:
|
||||||
|
|
||||||
|
runCommand "fzmenu" {
|
||||||
|
} /* sh */ ''
|
||||||
|
mkdir $out
|
||||||
|
|
||||||
|
cp -r ${./bin} $out/bin
|
||||||
|
|
||||||
|
substituteInPlace $out/bin/otpmenu \
|
||||||
|
--replace '#! /bin/sh' '#! ${dash}/bin/dash' \
|
||||||
|
--replace '#PATH=' PATH=${stdenv.lib.makeBinPath [
|
||||||
|
coreutils
|
||||||
|
dash
|
||||||
|
fzf
|
||||||
|
gnused
|
||||||
|
pass
|
||||||
|
rxvt_unicode
|
||||||
|
utillinux
|
||||||
|
xdotool
|
||||||
|
]}
|
||||||
|
|
||||||
|
substituteInPlace $out/bin/passmenu \
|
||||||
|
--replace '#! /bin/sh' '#! ${dash}/bin/dash' \
|
||||||
|
--replace '#PATH=' PATH=${stdenv.lib.makeBinPath [
|
||||||
|
coreutils
|
||||||
|
dash
|
||||||
|
fzf
|
||||||
|
gnused
|
||||||
|
pass
|
||||||
|
rxvt_unicode
|
||||||
|
utillinux
|
||||||
|
xdotool
|
||||||
|
]}
|
||||||
|
''
|
Loading…
Reference in New Issue
Block a user