Files
nix/scripts/update.sh
Nikolaos Karaolidis a75875a311 Update
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-10-06 12:03:06 +00:00

42 lines
861 B
Bash
Executable File

#!/usr/bin/env bash
set -o nounset
set -o pipefail
successes=()
failures=()
while read -r file; do
update_command=$(grep -oP '^#\s*AUTO-UPDATE:\s*\K.+' "$file" || true)
if [[ -n "$update_command" ]]; then
if ( eval "$update_command" ); then
successes+=("$file")
else
failures+=("$file")
fi
fi
done < <(find . -type f -name '*.nix' ! -path './submodules/*')
if [[ ${#successes[@]} -gt 0 ]]; then
echo "Successful Updates (${#successes[@]} total):"
for item in "${successes[@]}"; do
echo " - $item"
done
else
echo "No automated update commands were successfully executed."
fi
if [[ ${#failures[@]} -gt 0 ]]; then
echo "Failed Updates (${#failures[@]} total):"
for item in "${failures[@]}"; do
echo " - $item"
done
exit 1
else
echo "No automated update commands failed."
fi
nix flake update
exit $?