#!/bin/bash # omarchy:summary=Run all pending migrations to bring the system in line with the installed version. STATE_DIR="$HOME/.local/state/omarchy/migrations" mkdir -p "$STATE_DIR" # Skipped migrations are tracked separately mkdir -p "$STATE_DIR/skipped" # Run any pending migrations for file in $OMARCHY_PATH/migrations/*.sh; do filename=$(basename "$file") if [[ ! -f $STATE_DIR/$filename && ! -f $STATE_DIR/skipped/$filename ]]; then echo -e "\e[32m\nRunning migration (${filename%.sh})\e[0m" if bash $file; then touch "$STATE_DIR/$filename" else if gum confirm "Migration ${filename%.sh} failed. Skip and continue?"; then touch "$STATE_DIR/skipped/$filename" else exit 1 fi fi fi done