From ddabdc0a1ed0f93bd09a98bf6e8a54d97994720b Mon Sep 17 00:00:00 2001 From: Emanuel Evans Date: Sat, 23 Feb 2019 10:20:12 -0800 Subject: [PATCH] nixos/gnupg: set SSH_AUTH_SOCK in non-interactive settings `SSH_AUTH_SOCK` is useful in some non-interactive settings, for instance daemonized Emacs. Fixes #55733. --- nixos/modules/programs/gnupg.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/programs/gnupg.nix b/nixos/modules/programs/gnupg.nix index b01de9efaa5e..22521280e936 100644 --- a/nixos/modules/programs/gnupg.nix +++ b/nixos/modules/programs/gnupg.nix @@ -85,11 +85,13 @@ in # SSH agent protocol doesn't support changing TTYs, so bind the agent # to every new TTY. ${pkgs.gnupg}/bin/gpg-connect-agent --quiet updatestartuptty /bye > /dev/null + ''); + environment.extraInit = mkIf cfg.agent.enableSSHSupport '' if [ -z "$SSH_AUTH_SOCK" ]; then export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket) fi - ''); + ''; assertions = [ { assertion = cfg.agent.enableSSHSupport -> !config.programs.ssh.startAgent;