7 Commits

Author SHA1 Message Date
Austin Horstman
26e67a647b tests: preserve stubs through package overrides
Re-scrub derivations returned by override and overrideAttrs so package modules cannot restore real dependency graphs during test evaluation. Adapt affected tests with explicit runtime dependencies, executable mocks, and absence assertions.
2026-07-28 12:55:08 -05:00
Benedikt Rips
079a3b5d1a sshAuthSock: for Zsh, initialize in .zprofile and .zshenv 2026-07-24 12:12:39 -05:00
Austin Horstman
e9cbe69850 sshAuthSock: avoid cycles for socket providers
PR #9420 added set-SSH_AUTH_SOCK.service and ordered it before sshAuthSock.systemd.socketProviderUnit. When that provider is a socket unit, systemd default dependencies already order the socket before sockets.target while service defaults place set-SSH_AUTH_SOCK.service after basic.target. That creates a sockets.target -> basic.target -> set-SSH_AUTH_SOCK.service -> provider.socket -> sockets.target cycle.

For gpg-agent this makes systemd drop gpg-agent-ssh.socket, leaving SSH_AUTH_SOCK pointing at the expected S.gpg-agent.ssh path but with no socket listening there.

Only order and install the environment service against non-socket providers. Socket providers still get SSH_AUTH_SOCK imported through default.target.

Fixes #9432.
2026-06-08 12:04:33 -05:00
Benedikt Rips
f1d5aa6f69 sshAuthSock: set in systemd
`SSH_AUTH_SOCK` is exported in shells only, which systemd does not
inherit from. With this commit, it is also set in systemd such that
systemd-managed applications can access the SSH agent by declaring
dependencies onto 'sshAuthSock.systemd.socketProviderUnit'.

Closes #7971.
2026-06-04 12:20:50 -05:00
Benedikt Rips
efe95f113a sshAuthSock: use enable flag instead of nullable submodule 2026-06-04 12:20:50 -05:00
Benedikt Rips
5a15505146 Revert "sshAuthSock: assert that at most one agent is enabled"
This reverts commit 9dc93220c1.

On one hand, conflicting definitions for `sshAuthSock.initialization.*`
were triggering before the assertion triggered, hereby making the
assertion redundant. On the other hand, the assertion prevents users
from running multiple agents side-by-side even after resolving the
definition conflict.

See https://github.com/nix-community/home-manager/pull/8533#issuecomment-4224165151.
2026-05-05 07:52:03 -05:00
Benedikt Rips
8ec54491cd sshAuthSock: fix naming scheme 2026-04-04 22:28:41 -05:00