}
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}
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}
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
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
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" ];