#!/bin/bash set -e BASE_URL="${APEX_BASE_URL:-https://get.abundance.sh}" INSTALL_DIR="${APEX_INSTALL_DIR:-$HOME/.local/bin}" VERSION="${APEX_VERSION:-$(curl -fsSL "$BASE_URL/version.txt")}" OS="$(uname -s | tr '[:upper:]' '[:lower:]')" ARCH="$(uname -m)" case "$ARCH" in x86_64) ARCH="x64" ;; aarch64|arm64) ARCH="arm64" ;; esac TARBALL="apex-${OS}-${ARCH}-v${VERSION}.tar.gz" URL="${BASE_URL}/${TARBALL}" echo "Installing Apex Code v${VERSION} ($OS/$ARCH)..." mkdir -p "$INSTALL_DIR" TMP="$(mktemp -d)" trap 'rm -rf "$TMP"' EXIT curl -fsSL "$URL" -o "$TMP/$TARBALL" tar -xzf "$TMP/$TARBALL" -C "$TMP" BINARY="$TMP/apex" if [ ! -f "$BINARY" ]; then echo "Error: Your platform ($OS/$ARCH) is not supported yet." exit 1 fi if [ "$OS" = "darwin" ]; then xattr -c "$BINARY" 2>/dev/null || true fi chmod +x "$BINARY" mv "$BINARY" "$INSTALL_DIR/apex" echo "" echo "Apex Code v${VERSION} installed to $INSTALL_DIR/apex" if ! echo "$PATH" | tr ':' '\n' | grep -qx "$INSTALL_DIR"; then SHELL_NAME="$(basename "$SHELL")" RC="~/.${SHELL_NAME}rc" echo "" echo "Add to your PATH by running:" echo " echo 'export PATH=\"$INSTALL_DIR:\$PATH\"' >> $RC && source $RC" fi echo "" echo "Run 'apex' to get started."