mirror of
https://github.com/nix-community/home-manager.git
synced 2026-10-03 12:09:19 +00:00
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.
23 lines
388 B
Nix
23 lines
388 B
Nix
{
|
|
programs.nh = {
|
|
enable = true;
|
|
|
|
clean = {
|
|
enable = true;
|
|
dates = "weekly";
|
|
extraArgs = [
|
|
"--keep"
|
|
"5"
|
|
"--keep-since"
|
|
"3d"
|
|
];
|
|
};
|
|
};
|
|
|
|
nmt.script = ''
|
|
serviceFile=$(normalizeStorePaths home-files/.config/systemd/user/nh-clean.service)
|
|
|
|
assertFileContent "$serviceFile" ${./clean-extra-args.service}
|
|
'';
|
|
}
|