#!/bin/bash

cd ~/.local/share/omarchy

if [[ $1 == "all" ]]; then
  # Run all migrations
  last_updated_at=1
else
  # Remember the version we're at before upgrading
  last_updated_at=$(git log -1 --format=%cd --date=unix)
fi

# 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}"

  if [ $migrate_at -gt $last_updated_at ]; then
    echo -e "\e[32m\nRunning migration ($migrate_at)\e[0m"
    source $file
  fi
done

# Back to where we came from
cd - >/dev/null

echo -e ""
gum confirm "Update system packages too?" && yay -Syu --noconfirm
