X-Git-Url: http://git.scottworley.com/nix-profile-gc/blobdiff_plain/13c82a5342ffef8c3ef73967600f21c041431e21..c47dfde776336a33d3a57503460703b91347e2b3:/modules/profile-gc.nix?ds=sidebyside diff --git a/modules/profile-gc.nix b/modules/profile-gc.nix index a763875..3a2e44a 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 = '' @@ -164,7 +179,8 @@ in { echo "(Disregarding unrelated profile $p)" >&2 continue fi - if [[ "$p" == "$current" ]];then + pname=$(${pkgs.coreutils}/bin/basename "$p") + if [[ "$pname" == "$current" ]];then echo "Keeeping current profile $p" >&2 continue fi @@ -172,7 +188,7 @@ in { echo "Keeeping active system/boot profile $p" >&2 continue fi - if [[ "''${active[$p]:-}" ]];then + if [[ "''${active[$pname]:-}" ]];then echo "Keeeping active profile $p" >&2 continue fi