Files
home-manager/tests/modules/programs/nh/linux/clean-extra-args-spaces.nix
OddMagnet d3c99311d7 nh: accept a list for clean.extraArgs
Splitting the string on spaces broke arguments that legitimately contain
one, such as `--keep-since=1 day`. Accept a list of strings alongside the
string instead, each element being one argument, and restore the previous
behaviour for strings on both platforms: command line text that systemd
splits on Linux, a single argument on Darwin.

Darwin users passing several flags in one string have to switch to a list
to work around the launchd quoting.

On Linux the arguments are only appended when non-empty, which drops a
trailing space from ExecStart.
2026-09-12 22:02:25 -05:00

21 lines
369 B
Nix

{
programs.nh = {
enable = true;
clean = {
enable = true;
dates = "weekly";
extraArgs = [
"--keep-since"
"1 day"
];
};
};
nmt.script = ''
serviceFile=$(normalizeStorePaths home-files/.config/systemd/user/nh-clean.service)
assertFileContent "$serviceFile" ${./clean-extra-args-spaces.service}
'';
}