nixos/shared/nix-gc.nix

29 lines
766 B
Nix

{lib, pkgs, config, ...}:
let
cfg = config.nixGc;
in
{
options.nixGc = {
enable = lib.mkEnableOption "enable nix gc default settings";
};
config = lib.mkIf cfg.enable {
# Limit the number of generations to keep
boot.loader.systemd-boot.configurationLimit = 5;
# Perform garbage collection weekly to maintain low disk usage
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 1w";
};
# Optimize storage
# You can also manually optimize the store via:
# nix-store --optimise
# Refer to the following link for more details:
# https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store
nix.settings.auto-optimise-store = true;
};
}