about summary refs log tree commit diff
path: root/profile/.profile.d/gnupg.sh
diff options
context:
space:
mode:
Diffstat (limited to 'profile/.profile.d/gnupg.sh')
-rw-r--r--profile/.profile.d/gnupg.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/profile/.profile.d/gnupg.sh b/profile/.profile.d/gnupg.sh
new file mode 100644
index 0000000..d5d531f
--- /dev/null
+++ b/profile/.profile.d/gnupg.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+if command -v gpg >/dev/null 2>&1; then
+	GPG_TTY="$(tty)"
+	export GPG_TTY
+
+	if command -v ssh >/dev/null 2>&1 &&
+		command -v gpgconf >/dev/null 2>&1; then
+		unset SSH_AGENT_PID
+		if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne "${$}" ]; then
+			SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
+			export SSH_AUTH_SOCK
+		fi
+	fi
+
+	if command -v gpg-connect-agent >/dev/null 2>&1 &&
+		[ "${TERM}" != "linux" ]; then
+		gpg-connect-agent updatestartuptty /bye >/dev/null 2>&1
+	fi
+fi

Consider giving Nix/NixOS a try! <3