gopass secret selection with fzf
What it is
FZF to create a zsh functiona to interactively search for passwords or other information in the gopass databases
FZF is a nice tool for all kinds of fuzzy finding on your computer. It really shines when combined with other tools to make them interactive.
What it does for you
The function we create here can do the following for us:
- show all secrets from all password stores that gopass knows of
- optinally takes an fzf query string to prepopulate fzf
- allow for fuzzy-finding the one we want with fzf interactively
- help with the selection by showing any additional info of a secret in fzf's preview
- select one and copy it to the clipboard
The Code
p(){
QUERY=$1
if [ -z "$QUERY" ]; then
QUERY=''
fi
gopass show -C \
$(gopass ls --flat \
| fzf -q "$QUERY" --preview "gopass show {}" \
)
}
How to use it
Put the code into a file, e.g. fzf_gopass.zsh and source it. If you like it, add the command to source it to one of your shell initialization scripts.
Then type
p
# optionally followed by some (fuzzy) search text to start with
p goo
Type some more search characters - it can be a fuzzy-find - and/or use the arrow keys to select a branch.
Then press <Enter> to copy the password to the clipboard. Use <ESC> to exit without copying anything.
You can also use this command to quickly get any additional information stored in your secrets database.
Enjoy!