nixos/modules/shell/nix/optimization.nix

30 lines
792 B
Nix
Raw Normal View History

2023-07-27 19:36:55 +04:00
{ inputs, options, config, lib, pkgs, ...}:
# this automatically optimizes stuff like nix-store
# and cleans out garbage weekly
# also limits generations
let cfg = config.modules.shell.nix.optimize;
in
{
options.modules.shell.nix.optimize = {
2024-08-01 16:24:09 +04:00
enable = lib.mkEnableOption false;
2023-07-27 19:36:55 +04:00
};
2024-08-01 16:24:09 +04:00
config = lib.mkIf cfg.enable {
2023-07-27 19:36:55 +04:00
nix = {
# garbage collection
gc = {
automatic = true;
dates = "weekly";
2024-07-07 21:49:55 +04:00
options = "--delete-older-than 14d";
2023-07-27 19:36:55 +04:00
};
# optimizes store to reduce storage space :)
# does do alot on the cpu though :p
# shouldnt be a problem on high core cpus
# but might be a little problem on
# low end machines
# who cares though free storage woohoo
settings.auto-optimise-store = true;
};
};
}