[Fix #419] Rewrite module gpg-agent; rename it to gpg
This commit is contained in:
parent
6cd97d2d0f
commit
2e64f7ed64
|
@ -46,10 +46,10 @@ GNU Utility
|
||||||
|
|
||||||
Provides for the interactive use of GNU utilities on non-GNU systems.
|
Provides for the interactive use of GNU utilities on non-GNU systems.
|
||||||
|
|
||||||
GPG-Agent
|
GPG
|
||||||
---------
|
---------
|
||||||
|
|
||||||
Provides for an easier use of gpg-agent.
|
Provides for an easier use of GPG by setting up gpg-agent.
|
||||||
|
|
||||||
Haskell
|
Haskell
|
||||||
-------
|
-------
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
GPG-Agent
|
|
||||||
=========
|
|
||||||
|
|
||||||
Provides for an easier use of [gpg-agent][1].
|
|
||||||
|
|
||||||
Settings
|
|
||||||
--------
|
|
||||||
|
|
||||||
### SSH-Agent Protocol Emulation
|
|
||||||
|
|
||||||
To enable SSH-Agent protocol emulation, add the following line to *zpreztorc*:
|
|
||||||
|
|
||||||
zstyle ':prezto:module:gpg-agent' ssh-support 'yes'
|
|
||||||
|
|
||||||
Authors
|
|
||||||
-------
|
|
||||||
|
|
||||||
*The authors of this module should be contacted via the [issue tracker][2].*
|
|
||||||
|
|
||||||
- [Florian Walch](https://github.com/fwalch)
|
|
||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
|
||||||
|
|
||||||
[1]: http://linux.die.net/man/1/gpg-agent
|
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
|
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
#
|
|
||||||
# Provides for an easier use of gpg-agent.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Florian Walch <florian.walch@gmx.at>
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
# neersighted <neersighted@myopera.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
# Return if requirements are not found.
|
|
||||||
if (( ! $+commands[gpg-agent] )); then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure to use the $GNUPGHOME first.
|
|
||||||
_gpg_env="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.env"
|
|
||||||
|
|
||||||
function _gpg-agent-start {
|
|
||||||
local ssh_support
|
|
||||||
|
|
||||||
zstyle -b ':prezto:module:gpg-agent' ssh-support 'ssh_support' \
|
|
||||||
|| ssh_support=''
|
|
||||||
|
|
||||||
gpg-agent \
|
|
||||||
--daemon \
|
|
||||||
${ssh_support:+'--enable-ssh-support'} \
|
|
||||||
--write-env-file "${_gpg_env}" > /dev/null
|
|
||||||
|
|
||||||
chmod 600 "${_gpg_env}"
|
|
||||||
source "${_gpg_env}" > /dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
# Source GPG agent settings, if applicable.
|
|
||||||
if [[ -s "${_gpg_env}" ]]; then
|
|
||||||
source "${_gpg_env}" > /dev/null
|
|
||||||
ps -ef | grep "${SSH_AGENT_PID}" | grep -q 'gpg-agent' || {
|
|
||||||
_gpg-agent-start
|
|
||||||
}
|
|
||||||
else
|
|
||||||
_gpg-agent-start
|
|
||||||
fi
|
|
||||||
|
|
||||||
export GPG_AGENT_INFO
|
|
||||||
export SSH_AUTH_SOCK
|
|
||||||
export SSH_AGENT_PID
|
|
||||||
export GPG_TTY="$(tty)"
|
|
16
modules/gpg/README.md
Normal file
16
modules/gpg/README.md
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
GPG
|
||||||
|
===
|
||||||
|
|
||||||
|
Provides for an easier use of [GPG][1] by setting up [gpg-agent][2].
|
||||||
|
|
||||||
|
Authors
|
||||||
|
-------
|
||||||
|
|
||||||
|
*The authors of this module should be contacted via the [issue tracker][3].*
|
||||||
|
|
||||||
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
|
[1]: http://www.gnupg.org
|
||||||
|
[2]: http://linux.die.net/man/1/gpg-agent
|
||||||
|
[3]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
31
modules/gpg/init.zsh
Normal file
31
modules/gpg/init.zsh
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
|
|
@ -94,13 +94,6 @@ zstyle ':prezto:module:prompt' theme 'sorin'
|
||||||
# Auto start a session when Zsh is launched.
|
# Auto start a session when Zsh is launched.
|
||||||
# zstyle ':prezto:module:screen' auto-start 'yes'
|
# zstyle ':prezto:module:screen' auto-start 'yes'
|
||||||
|
|
||||||
#
|
|
||||||
# GPG-Agent
|
|
||||||
#
|
|
||||||
|
|
||||||
# Enable SSH-Agent protocol emulation.
|
|
||||||
# zstyle ':prezto:module:gpg-agent' ssh-support 'yes'
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SSH-Agent
|
# SSH-Agent
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in a new issue