Observed
A macOS host running Determinate Nix reached 99% disk usage on its root volume before any automatic GC fired. Running nix-collect-garbage -d manually then freed 268.5 GiB across 26,023 store paths in a single pass on a ~927 GiB volume (used dropped from ~916 GiB to ~627 GiB; free climbed from ~11 GiB to ~300 GiB).
There were no GC-related entries in determinate-nixd logs (log show --predicate 'process == "determinate-nixd"' --last 7d) leading up to this.
Expected
Per the docs and prior discussion (e.g. #169), the managed GC strategy is "automatic" / disk-pressure-based, intended to keep ~5–20% free. On a ~927 GiB volume that would mean triggering somewhere around 46–185 GiB free; instead it sat at <2% free until manually invoked.
Environment
- Determinate Nix daemon + client: 3.17.1 (happy to retest on 3.18.1 if the strategy/threshold changed)
- macOS 26 (arm64)
- Single APFS volume, ~927 GiB
- /etc/determinate/config.json contains only a builder block; no GC overrides
- nix-darwin managed; no explicit nix.gc.* set
Questions
- What is the actual trigger condition for the disk-pressure GC in the current implementation?
- Is there a way for an operator to inspect the daemon's last GC decision / next-trigger threshold?
- Is there a known failure mode where the watcher silently stops?
Observed
A macOS host running Determinate Nix reached 99% disk usage on its root volume before any automatic GC fired. Running
nix-collect-garbage -dmanually then freed 268.5 GiB across 26,023 store paths in a single pass on a ~927 GiB volume (used dropped from ~916 GiB to ~627 GiB; free climbed from ~11 GiB to ~300 GiB).There were no GC-related entries in determinate-nixd logs (
log show --predicate 'process == "determinate-nixd"' --last 7d) leading up to this.Expected
Per the docs and prior discussion (e.g. #169), the managed GC strategy is "automatic" / disk-pressure-based, intended to keep ~5–20% free. On a ~927 GiB volume that would mean triggering somewhere around 46–185 GiB free; instead it sat at <2% free until manually invoked.
Environment
Questions