]> git.friedersdorff.com Git - max/dotfiles.git/blobdiff - bash/.bashrc
Use gpg-agent for ssh-agent duties
[max/dotfiles.git] / bash / .bashrc
index a90c1772bfcd263c3f4303cc074baaab312d58b3..8d4422e7df195a31597f62d59f02678de5f5547c 100644 (file)
@@ -123,13 +123,17 @@ function __prompt_command()
 }
 PROMPT_COMMAND=__prompt_command
 
-
-if [ -f "${HOME}/.gpg-agent-info" ]; then
-  . "${HOME}/.gpg-agent-info"
-  export GPG_AGENT_INFO
-  export SSH_AUTH_SOCK
+if ! pgrep -x -u "${USER}" gpg-agent >/dev/null 2>&1; then
+    gpg-connect-agent /bye >/dev/null 2>&1
 fi
 
-
-# Set GPG TTY
+export GPG_AGENT_INFO="${GNUPGHOME:-${HOME}/.gnupg}/S.gpg-agent:-1:1"
 export GPG_TTY=$(tty)
+
+# Use gpg-agent for SSH
+unset SSH_AGENT_PID
+if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
+    export SSH_AUTH_SOCK="/run/user/$UID/gnupg/S.gpg-agent.ssh"
+fi
+
+gpg-connect-agent udatestartuptty /bye >/dev/null