From c6fb54d897ebd83ba27f3c78aafafe65c4a4338e Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Tue, 18 Aug 2026 17:38:55 +0200 Subject: ... --- hosts/sif/default.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) 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 { home-manager.sharedModules = [ flakeInputs.nixVirt.homeModules.default ]; + systemd.timers.nix-gc = lib.mkForce { + timerConfig = { + RandomizedDelaySec = "12h"; + Persistent = true; + OnCalendar = "*-*-* 18:00:00 Europe/Berlin"; + }; + wantedBy = [ "timers.target" ]; + }; + systemd.services.nix-gc = lib.mkForce { + description = "Nix Garbage Collector"; + serviceConfig = { + Type = "oneshot"; + ExecStart = pkgs.resholve.writeScript "nix-gc" { + interpreter = lib.getExe pkgs.zsh; + inputs = [ pkgs.coreutils config.nix.package ]; + execer = [ "cannot:${lib.getExe' config.nix.package "nix-collect-garbage"}" ]; + } '' + max_size=$(($(du -bs /nix/store | cut -f 1) - 1024**4)) + [[ $max_size -gt 0 ]] || exit 0 + exec nix-collect-garbage -vv --max-freed $max_size --delete-older-than 30d + ''; + }; + restartIfChanged = false; + }; + system.stateVersion = "24.11"; }; } -- cgit v1.2.3