]> git.rmz.io Git - dotfiles.git/commitdiff
zsh: add envoy and gpg
authorSamir Benmendil <samir.benmendil@gmail.com>
Sun, 13 Apr 2014 23:38:01 +0000 (00:38 +0100)
committerSamir Benmendil <samir.benmendil@gmail.com>
Sun, 13 Apr 2014 23:38:01 +0000 (00:38 +0100)
zsh/lib/envoy.zsh [new file with mode: 0644]
zsh/lib/gpg.zsh [new file with mode: 0644]

diff --git a/zsh/lib/envoy.zsh b/zsh/lib/envoy.zsh
new file mode 100644 (file)
index 0000000..f0ccb56
--- /dev/null
@@ -0,0 +1,9 @@
+# Return if requirements are not found.
+if (( ! $+commands[envoy] )); then
+  return 1
+fi
+
+if ! envoy -l >/dev/null ; then
+  alias ssh='envoy -a && unalias ssh; ssh'
+fi
+source <(envoy -p)
diff --git a/zsh/lib/gpg.zsh b/zsh/lib/gpg.zsh
new file mode 100644 (file)
index 0000000..818e241
--- /dev/null
@@ -0,0 +1,34 @@
+#
+# 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 paths to gpg-agent files.
+_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf"
+_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env"
+
+# Start gpg-agent if not started.
+if ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then
+  eval "$(gpg-agent --daemon --write-env-file "$_gpg_agent_env")"
+else
+  # Export environment variables.
+  source "$_gpg_agent_env" 2> /dev/null
+fi
+
+# Inform gpg-agent of the current TTY for user prompts.
+export GPG_TTY="$(tty)"
+
+# Clean up.
+unset _gpg_agent_{conf,env}
+
+# Disable GUI prompts inside SSH.
+if [[ -n "$SSH_CONNECTION" ]]; then
+  export PINENTRY_USER_DATA='USE_CURSES=1'
+fi