diff options
author | tom barrett <tom@tombarrett.xyz> | 2024-05-30 16:02:56 +0200 |
---|---|---|
committer | tom barrett <tom@tombarrett.xyz> | 2024-06-02 21:56:18 +0200 |
commit | d6a28baef6549996d5e6bd9c31f77ad508c9f6c9 (patch) | |
tree | 0338f12515e71021cc38d2fad2ac35d11090af60 /passfi | |
parent | 4f7a32e108e46bed8d2468d176259c255cf0e94b (diff) |
hyperlandhyprland
Diffstat (limited to 'passfi')
-rwxr-xr-x | passfi | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -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 |