#!/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:-/usr/site/rcac/bin/pixi}"

if [[ ! -x "${PIXI_BIN}" ]]; then
    echo "Pixi was not found at ${PIXI_BIN}. Set PIXI_BIN to its absolute path." >&2
    exit 127
fi

# Keep the environment and every package/cache directory on /scratch.
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}" "$@"

