# On systems with systemd running, we expect the agent to be launched
# via systemd's user mode (see
# /usr/lib/systemd/user/gpg-agent.{socket,service} and
# systemd.unit(5)).  This allows systemd to clean up the agent
# automatically at logout.

# If systemd is absent from your system, or you do not permit it to
# run in user mode, then you may need to manually launch gpg-agent
# from your session initialization with something like "gpgconf
# --launch gpg-agent"

# Nonetheless, ssh and older versions of gpg require environment
# variables to be set in order to find the agent, so we will set those
# here.

# gnupg2 doesn't use the GPG_AGENT_INFO environment variable since
# v2.1.0, but gnupg1 still does so set it in case gnupg1 is installed.
export GPG_AGENT_INFO="$(gpgconf --list-dirs agent-socket):0:1"

if [ -n "$(gpgconf --list-options gpg-agent | \
      awk -F: '/^enable-ssh-support:/{ print $10 }')" ]; then
    export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
