X-Git-Url: http://git.scottworley.com/nix-profile-gc/blobdiff_plain/26814c83ac9940a517b80edc6c22c620978e424a..0c0420e86ec3391788a3b37022447bfd00f66443:/modules/profile-gc.nix?ds=sidebyside diff --git a/modules/profile-gc.nix b/modules/profile-gc.nix index ba2821a..5444798 100644 --- a/modules/profile-gc.nix +++ b/modules/profile-gc.nix @@ -1,3 +1,18 @@ +# nix-profile-gc: More gently remove old profiles +# Copyright (C) 2022 Scott Worley +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + { lib, config, pkgs, ... }: let inherit (lib) escapeShellArg; @@ -14,7 +29,7 @@ in { dryRun = lib.mkOption { description = "Say what would have been deleted rather than actually deleting profiles"; type = lib.types.bool; - default = true; + default = false; }; keepLast = lib.mkOption { description = '' @@ -105,7 +120,7 @@ in { fi alive_threshold="$(< ${parse-duration cfg.activeThreshold})" - alive_loginterval="$(< ${parse-duration config.systemd.timers.profile-gc-log-active.timerConfig.OnUnitActiveSec})" + alive_loginterval="$(< ${parse-duration cfg.activeMeasurementGranularity})" if (( alive_threshold < alive_loginterval ));then echo "Liveness threshold is too low. Not doing any profile garbage collection." >&2 exit 0 @@ -197,6 +212,7 @@ in { ''; systemd.timers.profile-gc-log-active = { wantedBy = [ "timers.target" ]; + timerConfig.OnActiveSec = cfg.activeMeasurementGranularity; timerConfig.OnUnitActiveSec = cfg.activeMeasurementGranularity; }; systemd.services.profile-gc-log-active = {