]> git.scottworley.com Git - nix-profile-gc/blobdiff - modules/profile-gc.nix
Appease shellcheck
[nix-profile-gc] / modules / profile-gc.nix
index 5444798568249e38724cb965ea3068d0747d2afd..6963264ae29d6133623241e49e7a75315fb49ce6 100644 (file)
@@ -153,7 +153,7 @@ in {
       }
 
       declare -A active_targets
-      while read target;do
+      while read -r target;do
         active_targets[$target]=1
       done < <(
         verbose_topn ${cfg.logdir}/active-system "" ${escapeShellArg cfg.keepLastActiveSystem}
@@ -162,12 +162,12 @@ in {
 
       now=$(${pkgs.coreutils}/bin/date +%s)
       age_threshold="$(< ${parse-duration cfg.keepLatest})"
-      while read profile;do
+      while read -r profile;do
         echo "Contemplating profiles for $profile:" >&2
         unset active
         declare -A active
-        while read p;do
-          active[$p]=1
+        while read -r pname;do
+          active[$pname]=1
         done < <(verbose_topn ${cfg.logdir}/active-profiles "$profile" ${escapeShellArg cfg.keepLastActive})
         current=$(${pkgs.coreutils}/bin/readlink "$profile")
         currentgen=''${current%-link}
@@ -179,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
@@ -187,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
@@ -208,7 +209,7 @@ in {
             rm "$p"
           ''}
         done
-      done < <(${pkgs.findutils}/bin/find ''${NIX_STATE_DIR:-/nix/var/nix}/profiles/ -type l -not -name '*[0-9]-link')
+      done < <(${pkgs.findutils}/bin/find "''${NIX_STATE_DIR:-/nix/var/nix}/profiles/" -type l -not -name '*[0-9]-link')
     '';
     systemd.timers.profile-gc-log-active = {
       wantedBy = [ "timers.target" ];