#!/bin/bash

# Exit immediately if a command exits with a non-zero status
set -e

# Create the migrations state directory, we will store an empty file for each migration that has already been performed.
STATE_DIR="$HOME/.local/state/omarchy/migrations"
mkdir -p "$STATE_DIR"

# Run any pending migrations
cd ~/.local/share/omarchy

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"
  source $file
  touch "${STATE_DIR}/$filename"
done

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