#!/usr/bin/env bash set -euo pipefail ROOT_DIR="${ROOT_DIR:-/workspace}" PROJECT_DIR="${ROOT_DIR}/reveal_vla_bimanual" MAMBA_BIN="$("${PROJECT_DIR}/scripts/install_micromamba.sh")" MAMBA_ROOT_PREFIX="${ROOT_DIR}/.micromamba" ENV_PREFIX="${ROOT_DIR}/envs/rlbench" ENV_YAML="${PROJECT_DIR}/envs/rlbench310.yaml" COPPELIA_DIR="$("${PROJECT_DIR}/scripts/download_coppeliasim.sh")" RUNTIME_DIR="${ROOT_DIR}/runtime" mkdir -p "${ROOT_DIR}/envs" mkdir -p "${RUNTIME_DIR}" chmod 700 "${RUNTIME_DIR}" run_in_env() { local driver_version="" local driver_branch="" local shim_ld="" if command -v nvidia-smi >/dev/null 2>&1; then driver_version="$(nvidia-smi --query-gpu=driver_version --format=csv,noheader | head -n1 || true)" driver_branch="${driver_version%%.*}" if [[ -n "${driver_branch}" && -d "${ROOT_DIR}/system_shims/nvidia${driver_branch}/usr/lib/x86_64-linux-gnu" ]]; then shim_ld="${ROOT_DIR}/system_shims/nvidia${driver_branch}/usr/lib/x86_64-linux-gnu" fi fi env \ COPPELIASIM_ROOT="${COPPELIA_DIR}" \ XDG_RUNTIME_DIR="${RUNTIME_DIR}" \ LD_LIBRARY_PATH="${COPPELIA_DIR}${shim_ld:+:${shim_ld}}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" \ QT_QPA_PLATFORM_PLUGIN_PATH="${COPPELIA_DIR}" \ "${MAMBA_BIN}" run -r "${MAMBA_ROOT_PREFIX}" -p "${ENV_PREFIX}" "$@" } if [[ -x "${ENV_PREFIX}/bin/python" ]]; then "${MAMBA_BIN}" install -y -r "${MAMBA_ROOT_PREFIX}" -p "${ENV_PREFIX}" -f "${ENV_YAML}" else "${MAMBA_BIN}" create -y -r "${MAMBA_ROOT_PREFIX}" -p "${ENV_PREFIX}" -f "${ENV_YAML}" fi mkdir -p "${ENV_PREFIX}/etc/conda/activate.d" cat > "${ENV_PREFIX}/etc/conda/activate.d/coppeliasim.sh" <