From d6a28baef6549996d5e6bd9c31f77ad508c9f6c9 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Thu, 30 May 2024 16:02:56 +0200 Subject: hyperland --- passfi | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 passfi (limited to 'passfi') diff --git a/passfi b/passfi new file mode 100755 index 0000000..ec16c16 --- /dev/null +++ b/passfi @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -x + +shopt -s nullglob globstar + +if [[ $1 == "otp" ]]; then + otp=1 +fi + +prefix=${PASSWORD_STORE_DIR-~/.password-store} +password_files=("$prefix"/**/*.gpg) +password_files=("${password_files[@]#"$prefix"/}") +password_files=("${password_files[@]%.gpg}") + +if [[ ! $otp -eq 0 ]]; then + for f in "${password_files[@]}"; do + [[ $f == *"otp"* ]] && otp_files+=("$f") + done + password_files=("${otp_files[@]}") +fi + +password=$(printf '%s\n' "${password_files[@]}" | wofi --show dmenu "$@") + +[[ -n $password ]] || exit + +if [[ $otp -eq 0 ]]; then + pass show -c "$password" 2>/dev/null +else + pass otp show -c "$password" 2>/dev/null +fi -- cgit v1.2.3