#!/usr/bin/env bash

set -euo pipefail

info() {
  DIRENV_LOG_FORMAT="envrc: %s" log_status "$@"
}
# set -x

if [[ -z "${DEVJAIL:-}" ]] && nvidia_smi="$(type -p "nvidia-smi")" && [[ -n "$nvidia_smi" ]]; then
  cuda_major_version=$("$nvidia_smi" --version | awk 'BEGIN { FS = "[[:space:]]*:[[:space:]]*"}; /^CUDA Version/ {print int($2) };')
  if [[ -n "${cuda_major_version:-}" ]]; then
    info "Detected CUDA version: $cuda_major_version"
    export CUDA_VERSION="$cuda_major_version"
    PIXI_ENV="cu$CUDA_VERSION"
  fi
else
  info "Did not detect nvidia-smi, using non-GPU environment"
  PIXI_ENV="default"
fi
export PIXI_ENV

dotenv_if_exists

watch_file pixi.lock
eval "$(pixi shell-hook -e "$PIXI_ENV")"
