Files
omarchy/bin/omarchy-update

37 lines
979 B
Bash
Executable File

#!/bin/bash
STATE_DIR="$HOME/.local/state/omarchy/migrations"
cd ~/.local/share/omarchy
# Create the migrations state directory, we will store an empty file for each migration that has already been performed.
mkdir -p "$STATE_DIR"
# Get the latest while trying to preserve any modifications
git pull --autostash
git diff --check || git reset --merge
# Run any pending migrations
for file in migrations/*.sh; do
filename=$(basename "$file")
migrate_at="${filename%.sh}"
# Migration already applied, to re-run it simply delete the state file and try again
[ -e "${STATE_DIR}/$filename" ] && continue
echo -e "\e[32m\nRunning migration (${filename%.sh})\e[0m"
if source $file; then
touch "${STATE_DIR}/$filename"
echo -e "\t\e[32m✔ Succeess\e[0m"
else
echo -e "\t\e[31m✖ FAILED\e[0m"
exit 1
fi
done
# Update system packages
echo -e "\e[32m\nUpdate system packages\e[0m"
yay -Syu --noconfirm
# Back to where we came from
cd - >/dev/null