diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2026-09-28 08:54:09 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2026-09-28 08:54:09 +0200 |
| commit | 5996d5f84899fb919c6701f8acd599c5c23988e0 (patch) | |
| tree | 5e259f7c89e91c1020a0f882038d46e779233299 /hosts/skadhi | |
| parent | badf7aba844967c5d13e01079c12df758715167a (diff) | |
| download | nixos-5996d5f84899fb919c6701f8acd599c5c23988e0.tar nixos-5996d5f84899fb919c6701f8acd599c5c23988e0.tar.gz nixos-5996d5f84899fb919c6701f8acd599c5c23988e0.tar.bz2 nixos-5996d5f84899fb919c6701f8acd599c5c23988e0.tar.xz nixos-5996d5f84899fb919c6701f8acd599c5c23988e0.zip | |
...
Diffstat (limited to 'hosts/skadhi')
| -rw-r--r-- | hosts/skadhi/default.nix | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/hosts/skadhi/default.nix b/hosts/skadhi/default.nix index 5a1e9366..cf25777b 100644 --- a/hosts/skadhi/default.nix +++ b/hosts/skadhi/default.nix | |||
| @@ -89,5 +89,30 @@ | |||
| 89 | HandleLidSwitch = "sleep"; | 89 | HandleLidSwitch = "sleep"; |
| 90 | HandleLidSwitchExternalPower = "ignore"; | 90 | HandleLidSwitchExternalPower = "ignore"; |
| 91 | }; | 91 | }; |
| 92 | |||
| 93 | systemd.timers.nix-gc = lib.mkForce { | ||
| 94 | timerConfig = { | ||
| 95 | RandomizedDelaySec = "12h"; | ||
| 96 | Persistent = true; | ||
| 97 | OnCalendar = "*-*-* 18:00:00 Europe/Berlin"; | ||
| 98 | }; | ||
| 99 | wantedBy = [ "timers.target" ]; | ||
| 100 | }; | ||
| 101 | systemd.services.nix-gc = lib.mkForce { | ||
| 102 | description = "Nix Garbage Collector"; | ||
| 103 | serviceConfig = { | ||
| 104 | Type = "oneshot"; | ||
| 105 | ExecStart = pkgs.resholve.writeScript "nix-gc" { | ||
| 106 | interpreter = lib.getExe pkgs.zsh; | ||
| 107 | inputs = [ pkgs.coreutils config.nix.package ]; | ||
| 108 | execer = [ "cannot:${lib.getExe' config.nix.package "nix-collect-garbage"}" ]; | ||
| 109 | } '' | ||
| 110 | max_size=$(($(du -bs /nix/store | cut -f 1) - 1024**4)) | ||
| 111 | [[ $max_size -gt 0 ]] || exit 0 | ||
| 112 | exec nix-collect-garbage -vv --max-freed $max_size --delete-older-than 30d | ||
| 113 | ''; | ||
| 114 | }; | ||
| 115 | restartIfChanged = false; | ||
| 116 | }; | ||
| 92 | }; | 117 | }; |
| 93 | } | 118 | } |
