#!/bin/bash set -euo pipefail source "$(dirname "$0")/base-test.sh" test_tmp=$(mktemp -d) trap 'rm -rf "$test_tmp"' EXIT mock_bin="$test_tmp/bin" mkdir -p "$mock_bin" "$test_tmp/home" for command in xdg-user-dirs-update xdg-settings xdg-mime; do printf '#!/bin/bash\nexit 0\n' >"$mock_bin/$command" done chmod +x "$mock_bin"/* # Provisioning prepends $OMARCHY_PATH/bin, which shadows a mock for anything # Omarchy ships, so the install suite is stubbed out at its path instead. The # real one rethemes the session it runs in: hyprctl reload against the live # compositor, gsettings against the live desktop, and a global Node install. mkdir -p "$test_tmp/install/user" : >"$test_tmp/install/user/all.sh" HOME="$test_tmp/home" PATH="$mock_bin:$ROOT/bin:$PATH" OMARCHY_PATH="$ROOT" \ OMARCHY_INSTALL="$test_tmp/install" bash "$ROOT/bin/omarchy-provision-user" >/dev/null || fail "omarchy-provision-user finishes" for skill in omarchy diagnose-crash; do link="$test_tmp/home/.gemini/config/skills/$skill" [[ -L $link && $(readlink "$link") == "$ROOT/default/agents/skills/$skill" ]] || fail "omarchy-provision-user provisions the $skill skill for Antigravity" done pass "omarchy-provision-user provisions Antigravity skills"