127 Commits

Author SHA1 Message Date
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
Austin Horstman
18b4e1ea6f xdg-user-dirs: assert extraConfig key warning 2026-06-04 12:20:09 -05:00
Austin Horstman
ff53fe10e0 qt: assert kde6 migration warning 2026-06-04 12:20:09 -05:00
Benedikt Rips
68227a9363 fontconfig: add test for font discovery 2026-06-02 08:22:25 -05:00
Benedikt Rips
af1588ad6f fontconfig: add test for default fonts 2026-06-02 08:22:25 -05:00
Benedikt Rips
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
Austin Horstman
1772e8fb83 qt: pass negative KDE settings as values
Insert the command-option terminator before values passed to kwriteconfig6 so negative numeric settings are not parsed as command flags.

This fixes KDE settings such as DimDisplayIdleTimeoutSec = -1, which previously produced an unknown-option error from kwriteconfig6.

Cover the regression in the existing qt-basic NMT test by checking the generated activation command includes the terminator before the negative value.
2026-05-16 09:24:45 +02: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
Austin Horstman
c81775b640 xdg-autostart: allow empty readonly autostart
Create the readonly autostart link even when no managed entries are
present, so the option behavior matches its documentation and stays
covered by a focused regression test.
2026-04-20 11:12:32 -05:00
Bruno BELANYI
4bfce11ea8 xdg-user-dirs: add 'projects' 2026-04-20 00:08:02 -05:00
Bruno BELANYI
12ceb3974a tests/xdg-user-dirs-*: do not use 'PROJECTS'
Use `XDG_CUSTOM_DIR` instead, as it is unlikely to be added to the spec.
2026-04-20 00:08:02 -05:00
Benedikt Rips
a93d80bcec treewide: remove unused attrs patterns 2026-04-13 22:02:40 -05:00
Benedikt Rips
71402c5df3 treewide: mark unused lambda arguments 2026-04-13 22:02:40 -05:00
William Phetsinorath
f7f6a559c2 xdg: add support for local bin path
Signed-off-by: William Phetsinorath <william.phetsinorath@shikanime.studio>

Signed-off-by: William Phetsinorath <william.phetsinorath@shikanime.studio>
Change-Id: I045f07415467ca6d409a6f4d52e753866a6a6964
2026-04-11 09:58:37 +02:00
Benedikt Rips
8ec54491cd sshAuthSock: fix naming scheme 2026-04-04 22:28:41 -05:00
Benedikt Rips
9dc93220c1 ssh_auth_sock: assert that at most one agent is enabled 2026-04-03 21:15:34 -05:00
Benedikt Rips
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
Austin Horstman
a8931b2575 kvantum: add enable option
Missed previously, prefer gating enablement on real opt in.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-24 11:02:52 -05:00
mikaeladev
61463d50fc qt: add kvantum options 2026-03-24 08:04:04 -05:00
Austin Horstman
d3281688bf gtk: warn on gtk4 theme inheritance change
The gtk4 theme option still inherits from gtk.theme for users pinned
before 26.05, but that fallback was previously silent. Move the
default through the shared state-version helper so the compatibility
branch emits the standard deprecation warning and stays consistent
with other future cleanups.

Add a focused test that covers the legacy inheritance path alongside
the existing current-state-version test for the null default.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Austin Horstman
acf65ad748 xdg-user-dirs: warn on setSessionVariables default change
Switch xdg.userDirs.setSessionVariables to the shared state-version default helper so older configurations get an explicit warning before the legacy default is removed.

Add focused tests for the legacy and current branches to verify that the session variable exports remain enabled before 26.05 and are disabled by default starting at 26.05.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Ryan Hendrickson
26dfad95d9 nix: add assumeXdg option
The use-xdg-base-directories Nix setting can be set globally in
/etc/nix/nix.conf, in which case Home Manager doesn't know about it.
Users could fix that by also setting it, redundantly, in `nix.settings`,
but then Nix issues a lot of spurious warnings about
use-xdg-base-directories being a restricted setting that untrusted users
can't pass on to the daemon.

As an alternative, users can now set `nix.assumeXdg`, which makes Home
Manager assume that use-xdg-base-directories is in effect without adding
it to the user's nix.conf file.
2026-02-13 15:28:13 -06:00
Austin Horstman
cbd8a72e5f treewide: remove xorg package set
Xorg package set removed, now aliases.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-02-07 13:10:27 -06:00
Greg Pfeil
9b62076484 xdg.userDirs: change the syntax for extraConfig
E.g., use `MISC` instead of `XDG_MISC_DIR`, the same way `xdg-user-dirs-update`
works.

This is conditionalized on 26.05, so in future `XDG_MISC_DIR` will be disallowed.
2026-02-04 21:16:02 -06:00
Greg Pfeil
7c47cafa90 xdg.userDirs: don’t require Linux
Everything here works on Darwin, etc.
2026-02-04 21:16:02 -06:00
Viktor Titov
f9d45d664e qt: added qt{5,6}ctSettings options (#8271)
Added qtctSettings option to qt module to make it possible to configure qt(5/6)ct declaratively.
2025-12-07 23:17:30 -06:00
Austin Horstman
d13041d6f0 tests/gtk4: add test for stateversion change
Ensure default behavior with new state version works properly.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-28 14:14:32 -06:00
Fugi
ae9f38e889 gtk4: don't enable theme by default
This is not officially supported and causes issues in some cases.
Also adds a warning to the option.
2025-11-28 14:14:32 -06:00
Austin Horstman
af119feb17 Revert "tmpfiles: migrate to an RFC42-style option"
This reverts commit 090aa14e5d.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-05 12:26:46 -06:00
Austin Horstman
06aeeed62f Revert "tmpfiles: add option to purge rules' targets on change"
This reverts commit b4350d54c2.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-05 12:26:46 -06:00
Benedikt Rips
b4350d54c2 tmpfiles: add option to purge rules' targets on change 2025-11-02 23:02:10 -06:00
Benedikt Rips
090aa14e5d tmpfiles: migrate to an RFC42-style option 2025-11-02 23:02:10 -06:00
Austin Horstman
32a671dce5 tests/gtk: ubuntu_font_family -> ubuntu-classic
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-02 22:59:59 -06:00
Benedikt Rips
05c7c900f1 fontconfig: fix cache existence tests 2025-10-28 08:55:38 -05:00
Benedikt M. Rips
f2f1076c1f treewide: remove no-ops (#8061) 2025-10-26 15:43:53 -05:00
André Silva
f59891d511 xdg-mime-apps: no spaces in default app entries 2025-09-22 20:56:58 -05:00
Robert Helgesson
efcba687d3 xdg-mime-apps: add defaultApplicationPackages option
This option allows a user to inject default applications directly from
a list of specified packages. It was previously possible to do this,
but only through import from derivation.
2025-09-19 16:23:57 +02:00
Gaetan Lepage
e81d71d53a nix-remote-build: add module 2025-09-19 08:33:40 -05:00
Tim Keller
fad8e3033e fontconfig: add fonts.fontconfig.extraConfigFiles option (#7754)
Co-authored-by: Tim Keller <tjk@tjkeller.xyz>
Co-authored-by: Benedikt M. Rips <benedikt.rips@gmail.com>
2025-09-16 22:31:54 -05:00
Robert Helgesson
11cc5449c5 tests: fix tests 2025-09-15 09:22:58 +02:00
sweenu
f35703b412 gtk: add color scheme option 2025-09-07 09:46:25 -05:00
Austin Horstman
1e759786e5 qt: deprecate kde6
Give users a heads up that option is being removed.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-08-31 14:38:57 -05:00
Austin Horstman
ac351d435a tests/news: add new test for news entries
We need to catch the news entry issues sooner. Right now we don't have
any testing around them.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-08-06 00:11:26 -05:00
Benedikt Rips
74b4edc2d2 fontconfig: add options for font rendering 2025-08-05 14:05:43 -05:00
Adam Dinwoodie
f7a45b0831 nix: use-sandbox -> sandbox (#7475)
The Nix configuration file sandbox setting is now "sandbox", not
"use-sandbox".  Correct the documentation and tests that reference this
setting.
2025-07-15 10:22:11 -05:00
Austin Horstman
47443585fe tests/gtk: refactor and organize
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 11:53:47 -05:00
Austin Horstman
18ff4e1e11 tests/gtk: expand testing for new customization
We can now customize a lot more in the gtk module. Test more scenarios
to ensure a user has more control over what gets generated.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 11:53:47 -05:00
Austin Horstman
d9915499e3 gtk: refactor to support more modular customization
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 11:53:47 -05:00
Rosario Pulella
f9186c64fc Revert "fontconfig: Fix missing default fontconfig files (#7045)" (#7103)
This reverts commit 65d2282ff6.
2025-05-21 20:04:44 -05:00