100 Commits
Author SHA1 Message Date
Benedikt RipsandAustin Horstman 079a3b5d1a sshAuthSock: for Zsh, initialize in .zprofile and .zshenv 2026-07-24 12:12:39 -05:00
Benedikt RipsandAustin Horstman 40d502faf2 sshAuthSock: indent initialization code 2026-07-24 12:12:39 -05:00
Benedikt RipsandAustin Horstman f469c79b95 home: document defaults inherited from NixOS/nix-darwin 2026-07-02 10:19:51 -05:00
Benedikt RipsandAustin Horstman 7b64c06f1d home: use lib.literalMD 2026-07-02 10:19:51 -05:00
Benedikt RipsandAustin Horstman 937e85df03 home: check username being non-empty through its type 2026-07-02 10:19:51 -05:00
Benedikt RipsandAustin Horstman c0b7cadd81 home: remove redundant non-emptiness assertion
The option type `path` checks that the path starts with a slash, hence
it can not be empty.
2026-07-02 10:19:51 -05:00
Benedikt RipsandAustin Horstman 1ac720f007 home: document the 'home.profileDirectory' default 2026-06-23 11:11:50 -05:00
Benedikt RipsandAustin Horstman c8f0b8ed44 fontconfig: add RFC42-style config file settings 2026-06-18 14:16:03 -05:00
Benedikt RipsandAustin Horstman 4441446672 fontconfig: generate config with pkgs.formats.xml 2026-06-18 14:16:03 -05:00
Benedikt RipsandAustin Horstman 27a3154f42 fontconfig: disallow null as config file source
This brings `fonts.fontconfig.configFile.*.source` in line with
`home.file.*.source` and the like.
2026-06-18 14:16:03 -05:00
Benedikt RipsandAustin Horstman 4ce682641d fontconfig: add 'configFile.<name>.target' option
This brings `fonts.fontconfig.configFile` in line with `home.file` and
the like.
2026-06-18 14:16:03 -05:00
Benedikt RipsandAustin Horstman 4666af39e9 fontconfig: clarify 'configFile.<name>.*' descriptions 2026-06-18 14:16:03 -05:00
Benedikt RipsandAustin Horstman 82432731d3 fontconfig: check warning in legacy default test 2026-06-18 14:16:03 -05:00
Benedikt RipsandAustin Horstman 447fd9ff62 sshAuthSock: add news entry 2026-06-04 12:20:50 -05:00
Benedikt RipsandAustin Horstman 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 RipsandAustin Horstman f4534a4f3c sshAuthSock: add option for initialization in Zsh
Initialization in Zsh defaults to the Bash initialization code since Zsh
is mostly Bash-compatible. This commit adds a dedicated Zsh
initialization code option to make the defaulting behaviour transparent
while also enabling overrides.
2026-06-04 12:20:50 -05:00
Benedikt RipsandAustin Horstman efe95f113a sshAuthSock: use enable flag instead of nullable submodule 2026-06-04 12:20:50 -05:00
Benedikt RipsandAustin Horstman 68227a9363 fontconfig: add test for font discovery 2026-06-02 08:22:25 -05:00
Benedikt RipsandAustin Horstman af1588ad6f fontconfig: add test for default fonts 2026-06-02 08:22:25 -05:00
Benedikt RipsandAustin Horstman c0436bc028 fontconfig: enable config files by default
This commit makes the `fonts.fontconfig.configFile.<name>.enable` option
true by default which matches the behaviour of `home.file` and the like.
2026-06-02 08:22:25 -05:00
Benedikt RipsandMatthieu Coudron dd71501fb7 treewide: move NixOS-inherited defaults to their option definitions 2026-05-18 13:23:44 +02:00
Benedikt RipsandMatthieu Coudron a2c0bcaff4 fontconfig: document defaulting behavior on NixOS
'fonts.fontconfig.enable' is, according to the documentation, disabled
by default. However, when Home Manager is installed as a NixOS submodule
and 'home-manager.useUserPackages' is enabled, it defaults to NixOS'
'fonts.fontconfig.enable'. This commit makes this behaviour transparent.

Closes #3966.
2026-05-18 13:23:44 +02:00
Benedikt RipsandAustin Horstman 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 RipsandAustin Horstman 970cd853bf hyprland: use previously unused lambda parameter 2026-04-13 22:02:40 -05:00
Benedikt RipsandAustin Horstman 5a728e434d tests/integration: simplify pkgs.linkFarm usage 2026-04-13 22:02:40 -05:00
Benedikt RipsandAustin Horstman a93d80bcec treewide: remove unused attrs patterns 2026-04-13 22:02:40 -05:00
Benedikt RipsandAustin Horstman 71402c5df3 treewide: mark unused lambda arguments 2026-04-13 22:02:40 -05:00
Benedikt RipsandAustin Horstman 8ec54491cd sshAuthSock: fix naming scheme 2026-04-04 22:28:41 -05:00
Benedikt RipsandAustin Horstman 9dc93220c1 ssh_auth_sock: assert that at most one agent is enabled 2026-04-03 21:15:34 -05:00
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
Benedikt RipsandAustin Horstman 7c5d9345ad news: add 'services.ssh-agent.pkcs11Whitelist' entry 2026-01-09 23:20:10 -05:00
Benedikt RipsandAustin Horstman 37158e5267 vesktop: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman cd74467526 streamlink: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman 72476602b9 sapling: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman e926e27968 rbw: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman db116ceb76 qutebrowser: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman f7b2bdf042 pueue: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman a1a11393d9 pistol: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman 802ce0a7b1 mullvad-vpn: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman e69fbc243a lazygit: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman ebab435f3e lazydocker: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman bacad23b8c kubecolor: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman 6067be4770 kitty: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandAustin Horstman 12a723df97 gurk-rs: deduplicate platform-dependent files 2026-01-08 14:49:34 -05:00
Benedikt RipsandRobert Helgesson d1da1de5c2 lib.darwin: simplify assertInterval 2026-01-08 14:29:57 +01:00
Benedikt RipsandMatthieu Coudron 6e94d8157c keepassxc: point to the default upstream branch 2026-01-06 22:08:42 +01:00
Benedikt RipsandMatthieu Coudron 6e3931c01f keepassxc: add note about error message in the GUI 2026-01-06 22:08:42 +01:00
Benedikt Rips 6841643203 yubikey-agent: remove redundant platform checks 2026-01-05 23:10:04 +01:00
Benedikt Rips a755d94ab0 xdg: remove redundant platform checks 2026-01-05 23:10:04 +01:00
Benedikt Rips 33fe25dbe5 ssh-agent: remove redundant platform checks 2026-01-05 23:10:04 +01:00
Benedikt Rips 337d3602c0 restic: remove redundant platform checks 2026-01-05 23:10:04 +01:00
Benedikt Rips 5d814af6af pueue: remove redundant platform checks 2026-01-05 23:10:03 +01:00
Benedikt Rips 787784fb6f ollama: remove redundant platform checks 2026-01-05 23:10:03 +01:00
Benedikt Rips 2379f704b0 nix-gc: remove redundant platform checks 2026-01-05 23:10:03 +01:00
Benedikt Rips a26335db1b nh: remove redundant platform checks 2026-01-05 23:10:03 +01:00
Benedikt Rips d016674f6a mpd: remove redundant platform checks 2026-01-05 23:10:03 +01:00
Benedikt Rips c2d3a75ebe home-manager-auto-expire: remove redundant platform checks 2026-01-05 23:10:03 +01:00
Benedikt Rips 93af99ec02 gpg-agent: remove redundant platform checks 2026-01-05 23:10:03 +01:00
Benedikt Rips c8b68aafed git-sync: remove redundant platform checks 2026-01-05 23:10:03 +01:00
Benedikt Rips bca7415de4 emacs: remove redundant platform checks 2026-01-05 23:10:03 +01:00
Benedikt Rips d070d83048 colima: remove redundant platform checks 2026-01-05 23:10:03 +01:00
Benedikt Rips 048104c098 clipse: remove redundant platform checks 2026-01-05 23:10:02 +01:00
Benedikt Rips af894fbbc7 borgmatic: remove redundant platform checks 2026-01-05 23:10:02 +01:00
Benedikt Rips 53084c95ce atuin: remove redundant platform checks 2026-01-05 23:08:11 +01:00
Benedikt RipsandRobert Helgesson f894bc4ffd ssh-agent: improve handling of SSH_AUTH_SOCK variable
Specifically, only preserve `$SSH_AUTH_SOCK` when it points to a
forwarded agent.
2026-01-04 20:52:35 +01:00
Benedikt RipsandRobert Helgesson 73f5a5ecc9 ssh-agent: fix Nushell's check for emptiness
Previously, it would not succeed if `$env.SSH_AUTH_SOCK` is set to an
empty string.
2026-01-04 20:52:35 +01:00
Benedikt RipsandRobert Helgesson c211298f7e tree-wide: use lib.hm.assertions.assertPlatform 2026-01-04 09:31:10 +01:00
Benedikt RipsandAustin Horstman 89c9508bbe ssh-agent: set $SSH_AUTH_SOCK in non-interactive shells
Since PR #8099, the module sets `$SSH_AUTH_SOCK` through shells' options
for interactive shell initialization instead of
`home.sessionVariablesExtra`. The replacement was not faithful, however,
since `home.sessionVariablesExtra` is sourced also in non-interactive
shells. With this commit, the shells' profile options (where
`home.sessionVariablesExtra` is sourced) are used to set
`$SSH_AUTH_SOCK`.

Fixes #8129.
2025-12-17 08:15:55 -06:00
Benedikt RipsandAustin Horstman d787ec69c3 less: list options in correct order 2025-12-13 00:08:50 -06:00
Benedikt RipsandAustin Horstman 07d79726f1 less: enable options to be specified multiple times 2025-12-13 00:08:50 -06:00
Benedikt RipsandAustin Horstman d7b1ece79d xdg-portal: assert that required paths are linked on NixOS 2025-11-08 22:03:46 -06:00
Benedikt RipsandAustin Horstman c93684cd87 tmpfiles: use correct path in the onChange hook 2025-11-03 08:52:18 -06:00
Benedikt RipsandAustin Horstman 8c824254b1 glab: coerce glab tmpfile rule argument to string 2025-11-03 07:59:26 -06:00
Benedikt RipsandAustin Horstman 2318e30ea1 tests: hostPlatform -> stdenv.hostPlatform 2025-11-03 07:59:03 -06:00
Benedikt RipsandAustin Horstman b5ed4afc22 glab: remove the config file if it is empty or glab disabled 2025-11-02 23:02:10 -06:00
Benedikt RipsandAustin Horstman 7503ffb0b0 tmpfiles: add maintainer bmrips 2025-11-02 23:02:10 -06:00
Benedikt RipsandAustin Horstman b4350d54c2 tmpfiles: add option to purge rules' targets on change 2025-11-02 23:02:10 -06:00
Benedikt RipsandAustin Horstman 090aa14e5d tmpfiles: migrate to an RFC42-style option 2025-11-02 23:02:10 -06:00
Benedikt RipsandAustin Horstman c6d4cb31d7 home-manager: define a central package 2025-10-30 08:20:54 -05:00
Benedikt RipsandAustin Horstman 05c7c900f1 fontconfig: fix cache existence tests 2025-10-28 08:55:38 -05:00
Benedikt RipsandAustin Horstman b53026f683 tmpfiles: echo the onChange command and respect $DRY_RUN 2025-10-28 08:55:07 -05:00
Benedikt M. RipsandGitHub bbaeb9f1c2 glab: init module (#8066) 2025-10-26 20:59:05 -05:00
Benedikt M. RipsandGitHub f2f1076c1f treewide: remove no-ops (#8061) 2025-10-26 15:43:53 -05:00
Benedikt RipsandAustin Horstman 0d1e116e4f ssh-tpm-agent: match the upstream systemd units 2025-08-18 21:16:27 -05:00
Benedikt RipsandAustin Horstman 3a5136d8dd ssh-tpm-agent: on NixOS, check TPM accessibility 2025-08-18 21:16:27 -05:00
Benedikt RipsandAustin Horstman f9ea660b24 ssh-tpm-agent: fix ssh-agent proxy 2025-08-18 21:16:27 -05:00
Benedikt RipsandAustin Horstman 94a238f9c1 ssh-agent: add option for the socket name 2025-08-18 21:16:27 -05:00
Benedikt RipsandAustin Horstman af03309c12 ssh-tpm-agent: add maintainer bmrips 2025-08-18 21:16:27 -05:00
Benedikt RipsandAustin Horstman ec369a58f9 ssh-agent: add maintainer bmrips 2025-08-18 21:16:27 -05:00
Benedikt M. RipsandGitHub 11626a4383 keepassxc: note the manifest installation conflict (#7675) 2025-08-14 22:46:10 -05:00
Benedikt M. RipsandGitHub d9a57c597c davmail: enable access to the display server (#7671)
Without this access, davmail can not display its token request dialogue.
2025-08-13 15:52:17 -05:00
Benedikt RipsandAustin Horstman 67393957c2 less: configure LESS options 2025-08-11 10:01:10 -05:00
Benedikt RipsandAustin Horstman dfcea0573d less: rename keys to config 2025-08-11 10:01:10 -05:00
Benedikt RipsandAustin Horstman 9a132f2971 less: generate lesskey only when non-empty 2025-08-11 10:01:10 -05:00
Benedikt RipsandAustin Horstman 6275d1fc57 accounts.email: add 'davmail' flavor 2025-08-07 08:30:18 -05:00
Benedikt RipsandAustin Horstman 5ab62b61fb accounts.email: add authentication mechanism 2025-08-07 08:30:18 -05:00
Benedikt RipsandAustin Horstman 62fdc8d410 keepassxc: add autostart option 2025-08-06 19:08:16 -05:00
Benedikt RipsandAustin Horstman cb8cfa0eb9 keepassxc: add maintainer bmrips 2025-08-06 19:08:16 -05:00
Benedikt RipsandAustin Horstman 2a29968912 git-credential-keepassxc: init module 2025-08-06 12:39:55 -05:00
Benedikt RipsandAustin Horstman 88913c98fe goto: init module 2025-08-06 10:57:16 -05:00