1 # AX-ZSH: Alex' Modular ZSH Configuration
2 # keychain.zshrc: Setup keychain(1)
4 # Test if keychain(1) has already been initialized, for example in the
6 if [[ -n "$axzsh_keychain_was_run" ]]; then
7 unset axzsh_keychain_was_run
11 # Make sure that "keychain(1)" is installed
12 (( $+commands[keychain] )) || return
14 function axzsh_keychain_update() {
16 if (( $+commands[ssh-agent] )); then
17 [[ -z "$agents" ]] && agents="ssh" || agents="$agents,ssh"
19 if (( $+commands[gpg-agent] )); then
20 [[ -z "$agents" ]] && agents="gpg" || agents="$agents,gpg"
22 eval `keychain --agents "$agents" --eval --inherit any-once "$@"`
25 [[ "$type" == "zshrc" ]] \
26 && axzsh_keychain_update --quiet --quick \
27 || axzsh_keychain_update --quiet
29 unset axzsh_keychain_was_run