diff options
Diffstat (limited to 'pkgs/pass-bcr')
| -rwxr-xr-x | pkgs/pass-bcr/bcr.bash | 25 | ||||
| -rw-r--r-- | pkgs/pass-bcr/completions/bash | 8 | ||||
| -rw-r--r-- | pkgs/pass-bcr/completions/zsh | 8 | ||||
| -rw-r--r-- | pkgs/pass-bcr/default.nix | 19 |
4 files changed, 60 insertions, 0 deletions
diff --git a/pkgs/pass-bcr/bcr.bash b/pkgs/pass-bcr/bcr.bash new file mode 100755 index 0000000..5d02748 --- /dev/null +++ b/pkgs/pass-bcr/bcr.bash @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail + +if [ $# -eq 0 ]; then + echo "Usage: $0 <challenge>..." >&2 + exit 1 +fi + +function index_for_each() { + keys="$1" + shift + + for entry in "$@"; do + if echo "$entry" | grep -vq "^[a-jA-J][1-5]$"; then + echo "Bad challenge: $entry" >&2 + exit 1 + fi + + echo "$entry: $(echo "$keys" | tail -n+$(echo "$entry" | tail -c+2) | head -1 | cut -d' ' -f$((1 + $(echo "$entry" | head -c1 | tr 'a-jA-J' '0-90-9'))))" + done +} + +index_for_each "$(pass show any/bank/bcr/default | grep -A6 '^Clave dinĂ¡mica:$' | tail -5 | sed 's/^[0-9]\s\+//g')" "$@" diff --git a/pkgs/pass-bcr/completions/bash b/pkgs/pass-bcr/completions/bash new file mode 100644 index 0000000..8fe1887 --- /dev/null +++ b/pkgs/pass-bcr/completions/bash @@ -0,0 +1,8 @@ +# pass-update completion file for bash + +PASSWORD_STORE_EXTENSION_COMMANDS+=(bcr) + +__password_store_extension_complete_bcr() { + local args=() + COMPREPLY+=($(compgen -W "${args[*]}" -- ${cur})) +} diff --git a/pkgs/pass-bcr/completions/zsh b/pkgs/pass-bcr/completions/zsh new file mode 100644 index 0000000..9d120a5 --- /dev/null +++ b/pkgs/pass-bcr/completions/zsh @@ -0,0 +1,8 @@ +#compdef pass-bcr +#description Clave dinĂ¡mica BCR + +_pass-ubcr () { + _arguments : +} + +_pass-bcr "$@" diff --git a/pkgs/pass-bcr/default.nix b/pkgs/pass-bcr/default.nix new file mode 100644 index 0000000..6db814c --- /dev/null +++ b/pkgs/pass-bcr/default.nix @@ -0,0 +1,19 @@ +{ stdenv, ... }: +stdenv.mkDerivation { + pname = "pass-bcr"; + version = "1.0"; + + src = ./.; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{lib/password-store/extensions,share/{bash-completion/completions,zsh/site-functions}} + cp bcr.bash $out/lib/password-store/extensions + cp completions/zsh $out/share/zsh/site-functions/_pass-bcr + cp completions/bash $out/share/bash-completion/completions/pass-bcr + chmod +x $out/lib/password-store/extensions/bcr.bash + + runHook postInstall + ''; +} |
