Configurar variables de entorno globalmente para gpg-agent en MacOS High Sierra

Configurar variables de entorno globalmente para gpg-agent en MacOS High Sierra

Quiero usarlo gpg-agenten lugar de ssh-agenten MacOS High Sierra. Para lograr esto necesito establecer globalmente dos variables de entorno:

GPG_TTY=$(tty)
SSH_AUTH_SOCK=${HOME}/.gnupg/S.gpg-agent.ssh

Esto es necesario para almacenar las frases de contraseña para las claves de autenticación gpg Y para mis claves ssh.

Quiero este tipo de configuración para poder usar KeePassXC con su función de integración de ssh-agent, de modo que todas las frases de contraseña aleatorias para mis claves ssh se almacenen allí y se agreguen a gpg-agent (en lugar de ssh-agent) cuando la base de datos de KeePassXC sea desbloqueado. Por otro lado, las frases de contraseña para mis claves de autenticación gpg se almacenarán de forma nativa en gpg-agent.

¿Alguien sabe cómo puedo configurar globalmente env vars? Si los configuro para todo el usuario en mi ~/.zshrc, KeepassXC aún inicia ssh-agent en paralelo con gpg-agent y los agrega al ssh-agent del sistema en lugar de gpg-agent.

El objetivo final es deshabilitar completamente ssh-agent, asegurándose de que KeePassXC no lo inicie, sino que utilice gpg-agent en su lugar.

Intenté configurar variables env con launchctl setenv:

$ launchctl setenv SSH_AUTH_SOCK ${HOME}/.gnupg/S.gpg-agent.ssh
$ launchctl getenv SSH_AUTH_SOCK
/Users/drew/.gnupg/S.gpg-agent.ssh

Se ve bien, pero luego:

$ echo $SSH_AUTH_SOCK
/private/tmp/com.apple.launchd.IjNASGcnxM/Listeners

Entonces parece que la variable establecida con launchd se ignora...

información relacionada