Files
home-manager/tests/modules/services/gpg-agent/ssh-support.nix
T
Benedikt RipsandAustin Horstman a61b22e323 ssh_auth_sock: init module
`$SSH_AUTH_SOCK` must not be set unconditionally through
'home.sessionVariables' since its value needs to be preserved if it
stems from a forwarded SSH agent. Hence, this commit establishes a
centralized, internal 'ssh_auth_sock.initialization' option for setting
`$SSH_AUTH_SOCK`. It checks whether its value has to be preserved and
injects the initialization code into the proper
'programs.(bash|fish|nushell|zsh).*' options.
2026-04-03 21:15:34 -05:00

40 lines
1.3 KiB
Nix

{
programs.bash.enable = true;
programs.fish.enable = true;
programs.nushell.enable = true;
programs.zsh.enable = true;
services.gpg-agent = {
enable = true;
enableSshSupport = true;
};
nmt.script = ''
assertFileContains \
home-files/.profile \
'export SSH_AUTH_SOCK="$(@gnupg@/bin/gpgconf --list-dirs agent-ssh-socket)"'
assertFileContains \
home-files/.config/fish/config.fish \
'set -x SSH_AUTH_SOCK (@gnupg@/bin/gpgconf --list-dirs agent-ssh-socket)'
assertFileContains \
home-files/.config/nushell/config.nu \
'$env.SSH_AUTH_SOCK = $"(@gnupg@/bin/gpgconf --list-dirs agent-ssh-socket)"'
assertFileContains \
home-files/.zshenv \
'export SSH_AUTH_SOCK="$(@gnupg@/bin/gpgconf --list-dirs agent-ssh-socket)"'
assertFileContains \
home-files/.bashrc \
'@gnupg@/bin/gpg-connect-agent --quiet updatestartuptty /bye'
assertFileContains \
home-files/.config/fish/config.fish \
'@gnupg@/bin/gpg-connect-agent --quiet updatestartuptty /bye'
assertFileContains \
home-files/.config/nushell/config.nu \
'@gnupg@/bin/gpg-connect-agent --quiet updatestartuptty /bye'
assertFileContains \
home-files/.zshrc \
'@gnupg@/bin/gpg-connect-agent --quiet updatestartuptty /bye'
'';
}