refactor: Move sw into properly nested modules with unconditional import
This commit is contained in:
27
sw/gc.nix
27
sw/gc.nix
@@ -1,7 +1,6 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
@@ -10,22 +9,40 @@
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Whether to enable automatic garbage collection.";
|
||||
description = ''
|
||||
Enable automatic garbage collection of old NixOS generations.
|
||||
Helps keep disk usage under control on long-running systems.
|
||||
'';
|
||||
};
|
||||
frequency = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "weekly";
|
||||
description = "How often to run garbage collection (systemd timer format).";
|
||||
description = ''
|
||||
How often to run garbage collection (systemd timer format).
|
||||
|
||||
Common values: "daily", "weekly", "monthly"
|
||||
Advanced: "*-*-* 03:00:00" (daily at 3 AM)
|
||||
'';
|
||||
example = "daily";
|
||||
};
|
||||
retentionDays = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 30;
|
||||
description = "Number of days to keep old generations before deletion.";
|
||||
description = ''
|
||||
Number of days to keep old system generations before deletion.
|
||||
|
||||
Older generations allow rolling back system changes.
|
||||
Recommended: 30-90 days for workstations, 7-14 for servers.
|
||||
'';
|
||||
example = 60;
|
||||
};
|
||||
optimise = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Whether to automatically optimize the Nix store.";
|
||||
description = ''
|
||||
Whether to automatically hard-link identical files in the Nix store.
|
||||
Can save significant disk space but uses CPU during optimization.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user