32 lines
670 B
Bash
32 lines
670 B
Bash
|
#
|
||
|
# Provides for an easier use of GPG by setting up gpg-agent.
|
||
|
#
|
||
|
# Authors:
|
||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||
|
#
|
||
|
|
||
|
# Return if requirements are not found.
|
||
|
if (( ! $+commands[gpg-agent] )); then
|
||
|
return 1
|
||
|
fi
|
||
|
|
||
|
# Set the default path to the gpg-agent-info file.
|
||
|
_gpg_agent_info="$HOME/.gpg-agent-info"
|
||
|
|
||
|
# Start gpg-agent if not started.
|
||
|
ps -U "$USER" -o ucomm | grep -q gpg-agent \
|
||
|
|| gpg-agent --daemon >! "$_gpg_agent_info"
|
||
|
|
||
|
# Export environment variables.
|
||
|
export GPG_TTY="$(tty)"
|
||
|
source "$_gpg_agent_info"
|
||
|
|
||
|
# Clean up.
|
||
|
unset _gpg_agent_info
|
||
|
|
||
|
# Disable GUI prompts inside SSH.
|
||
|
if [[ -n "$SSH_CONNECTION" ]]; then
|
||
|
export PINENTRY_USER_DATA='USE_CURSES=1'
|
||
|
fi
|
||
|
|