#!/usr/bin/env bash set -euo pipefail BASE_URL="${NAFNAF_BASE_URL:-${NAFNAF_API_BASE:-https://api.nafnaf.ai}}" BASE_URL="${BASE_URL%/}" case "$BASE_URL" in */v1) BASE_URL="${BASE_URL%/v1}" ;; esac INSTALL_DIR="${NAFNAF_INSTALL_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/nafnaf-cli}" BIN_DIR="${NAFNAF_BIN_DIR:-$HOME/.local/bin}" if ! command -v python3 >/dev/null 2>&1; then echo "nafnaf requires Python 3.9 or newer." >&2 exit 1 fi if ! python3 -c 'import sys; raise SystemExit(0 if sys.version_info >= (3, 9) else 1)'; then echo "nafnaf requires Python 3.9 or newer." >&2 exit 1 fi mkdir -p "$INSTALL_DIR" "$BIN_DIR" temporary="$(mktemp "$INSTALL_DIR/nafnaf.XXXXXX")" trap 'rm -f "$temporary"' EXIT curl -fsSL "$BASE_URL/v1/cli/nafnaf" -o "$temporary" python3 -c 'import pathlib, sys; compile(pathlib.Path(sys.argv[1]).read_text(encoding="utf-8"), sys.argv[1], "exec")' "$temporary" chmod 0755 "$temporary" mv "$temporary" "$INSTALL_DIR/nafnaf.py" ln -sfn "$INSTALL_DIR/nafnaf.py" "$BIN_DIR/nafnaf" trap - EXIT echo "Installed nafnaf to $BIN_DIR/nafnaf" case ":$PATH:" in *":$BIN_DIR:"*) ;; *) echo "Add $BIN_DIR to PATH, then run: nafnaf login" ;; esac