#!/usr/bin/env bash
set -euo pipefail

SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
PROJECT_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd -P)"
PIXI_BIN="${PIXI_BIN:-$(command -v pixi || true)}"

if [[ -z "${PIXI_BIN}" || ! -x "${PIXI_BIN}" ]]; then
    echo "Pixi was not found on PATH. Install Pixi or set PIXI_BIN to its executable." >&2
    exit 127
fi

export PIXI_HOME="${PROJECT_ROOT}/.pixi-home"
export PIXI_CACHE_DIR="${PROJECT_ROOT}/.pixi-cache"
export RATTLER_CACHE_DIR="${PROJECT_ROOT}/.pixi-cache"
export XDG_CACHE_HOME="${PROJECT_ROOT}/.cache"
export UV_CACHE_DIR="${PROJECT_ROOT}/.uv-cache"
export PIP_CACHE_DIR="${PROJECT_ROOT}/.pip-cache"
export PYTHONNOUSERSITE=1

cd "${PROJECT_ROOT}"
exec "${PIXI_BIN}" "$@"
