diff options
Diffstat (limited to 'sys/core/storage.nix')
| -rw-r--r-- | sys/core/storage.nix | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/sys/core/storage.nix b/sys/core/storage.nix index 6e2dab8..22abcd7 100644 --- a/sys/core/storage.nix +++ b/sys/core/storage.nix @@ -3,8 +3,35 @@ let cfg = config.sys.core.storage; in { - options.sys.core.storage.enable = lib.mkEnableOption "enables storage management"; + options.sys.core.storage = { + enable = lib.mkEnableOption "enables storage management"; + + keepDays = lib.mkOption { + type = lib.types.int; + default = 14; + description = "Number of days to keep old Nix generations before GC."; + }; + }; config = lib.mkIf cfg.enable { nix.settings.auto-optimise-store = true; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than ${toString cfg.keepDays}d"; + }; + + services.fstrim.enable = true; + + services.btrfs.autoScrub = { + enable = true; + interval = "monthly"; + fileSystems = [ "/" ]; + }; + + boot.tmp = { + useTmpfs = true; + tmpfsSize = "50%"; + }; }; } |
