1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-12-06 17:11:03 +01:00

services.nix-gc: improve error message when nix.gc.frequency is invalid on darwin

Previously, if an invalid value was passed, the build would fail with:

       error: attribute '"00:02:03"' missing
       at /nix/store/sz92b5gqi0ma61d18fwbihi8p37mkvir-source/modules/services/nix-gc.nix:69:5:
           68|     in
           69|     freq.${frequency};
             |     ^
           70|

There was an assertion that should have prevented this from happening
but the crash would happen before the assertion gets a chance to stop
the build with a nice error message.

This commit both gives the assertion a chance to trigger and improves
the assertion's error message.
This commit is contained in:
Damien Cassou 2025-05-14 21:45:20 +02:00 committed by Austin Horstman
parent ad1e8bb782
commit 3b930bb653
3 changed files with 17 additions and 4 deletions

View file

@ -0,0 +1,10 @@
{
nix.gc = {
automatic = true;
frequency = "00:02:03";
};
test.asserts.assertions.expected = [
"On Darwin nix.gc.frequency must be one of: hourly, daily, weekly, monthly, semiannually, annually."
];
}

View file

@ -1 +1,4 @@
{ nix-gc = ./basic.nix; }
{
nix-gc = ./basic.nix;
darwin-nix-gc-interval-assertion = ./darwin-nix-gc-interval-assertion.nix;
}