diff options
Diffstat (limited to 'zsh/profile-leeloo')
-rw-r--r-- | zsh/profile-leeloo | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/zsh/profile-leeloo b/zsh/profile-leeloo new file mode 100644 index 0000000..c74e1f7 --- /dev/null +++ b/zsh/profile-leeloo @@ -0,0 +1,23 @@ +function { + local envfile="$XDG_RUNTIME_DIR"/gpg-agent.env + if [[ -e "$envfile" ]] && kill -0 $(cut -d':' -f2 <"$envfile") &>/dev/null; then + source "$envfile" + else + source <(gpg-agent --daemon --write-env-file "$envfile") + export GPG_AGENT_INFO + fi +} + +function { + local envfile="$XDG_RUNTIME_DIR"/ssh-agent.env + local pid=$(awk -F'[=;]' 'FNR == 2 {print $2}' "$envfile" 2>/dev/null) + + if [[ -n "$pid" ]] && kill -0 "$pid" &>/dev/null; then + source "$envfile" >/dev/null + else + ssh-agent > "$envfile" + source "$envfile" >/dev/null + fi +} + +# vim: ft=zsh: |