summaryrefslogtreecommitdiff
path: root/hosts/sif
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/sif')
-rw-r--r--hosts/sif/default.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/hosts/sif/default.nix b/hosts/sif/default.nix
index 72cf534d..bf6ac3c4 100644
--- a/hosts/sif/default.nix
+++ b/hosts/sif/default.nix
@@ -675,6 +675,31 @@ in {
675 675
676 home-manager.sharedModules = [ flakeInputs.nixVirt.homeModules.default ]; 676 home-manager.sharedModules = [ flakeInputs.nixVirt.homeModules.default ];
677 677
678 systemd.timers.nix-gc = lib.mkForce {
679 timerConfig = {
680 RandomizedDelaySec = "12h";
681 Persistent = true;
682 OnCalendar = "*-*-* 18:00:00 Europe/Berlin";
683 };
684 wantedBy = [ "timers.target" ];
685 };
686 systemd.services.nix-gc = lib.mkForce {
687 description = "Nix Garbage Collector";
688 serviceConfig = {
689 Type = "oneshot";
690 ExecStart = pkgs.resholve.writeScript "nix-gc" {
691 interpreter = lib.getExe pkgs.zsh;
692 inputs = [ pkgs.coreutils config.nix.package ];
693 execer = [ "cannot:${lib.getExe' config.nix.package "nix-collect-garbage"}" ];
694 } ''
695 max_size=$(($(du -bs /nix/store | cut -f 1) - 1024**4))
696 [[ $max_size -gt 0 ]] || exit 0
697 exec nix-collect-garbage -vv --max-freed $max_size --delete-older-than 30d
698 '';
699 };
700 restartIfChanged = false;
701 };
702
678 system.stateVersion = "24.11"; 703 system.stateVersion = "24.11";
679 }; 704 };
680} 705}