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