From 97f968a30e7dc28f6d99bfbaae8a4aeefb6ad525 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Fri, 23 Jan 2026 12:48:30 +0100 Subject: added all of my scripts --- passmenu-otp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 passmenu-otp (limited to 'passmenu-otp') diff --git a/passmenu-otp b/passmenu-otp new file mode 100755 index 0000000..d511944 --- /dev/null +++ b/passmenu-otp @@ -0,0 +1,24 @@ +#!/bin/sh +set -eu + +: "${PASSWORD_STORE_DIR:=$HOME/.password-store}" +DMENU="${DMENU:-dmenu}" + +# Build list of pass entry paths (relative to PASSWORD_STORE_DIR) that contain an otpauth:// line. +entries=$( + find "$PASSWORD_STORE_DIR" -type f -name '*.gpg' ! -path '*/.git/*' -print 2>/dev/null | + while IFS= read -r f; do + entry="${f#$PASSWORD_STORE_DIR/}" + entry="${entry%.gpg}" + if pass show "$entry" 2>/dev/null | grep -q '^otpauth://'; then + printf '%s\n' "$entry" + fi + done +) + +[ -n "${entries:-}" ] || exit 0 + +choice=$(printf '%s\n' "$entries" | "$DMENU" -i -p "OTP:") +[ -n "${choice:-}" ] || exit 0 + +pass otp -c "$choice" -- cgit v1.3