diff --git a/dotfiles/gnupg/gpg-agent.conf b/dotfiles/gnupg/gpg-agent.conf index ab47375..c318aa7 100644 --- a/dotfiles/gnupg/gpg-agent.conf +++ b/dotfiles/gnupg/gpg-agent.conf @@ -1,5 +1,5 @@ -use-standard-socket default-cache-ttl 7200 default-cache-ttl-ssh 7200 max-cache-ttl 86400 max-cache-ttl-ssh 86400 +enable-ssh-support diff --git a/dotfiles/zsh_custom/plugins/gpg-agent/gpg-agent.plugin.zsh b/dotfiles/zsh_custom/plugins/gpg-agent/gpg-agent.plugin.zsh index 6e467e8..2d51d02 100644 --- a/dotfiles/zsh_custom/plugins/gpg-agent/gpg-agent.plugin.zsh +++ b/dotfiles/zsh_custom/plugins/gpg-agent/gpg-agent.plugin.zsh @@ -18,8 +18,13 @@ function start_agent_withssh { # check if another agent is running if ! gpg-connect-agent --agent-program /dev/null --quiet /bye > /dev/null 2> /dev/null; then + if [ -d "${XDG_RUNTIME_DIR}/gnupg" ] ; then + GPG_AGENT_INFO=${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent + SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh + export GPG_AGENT_INFO + export SSH_AUTH_SOCK # source settings of old agent, if applicable - if [ -f "${GPG_ENV}" ]; then + elif [ -f "${GPG_ENV}" ]; then # This can be clobbered by the file local OLD_SSH_AUTH_SOCK=${SSH_AUTH_SOCK} . ${GPG_ENV} > /dev/null