#!/usr/bin/env sh set -eu APP="resh" VERSION="1.0.1-beta" BASE_URL="${RESH_BASE_URL:-https://get.reshshell.dev}" fatal() { echo "ERROR: $*" >&2; exit 1; } need() { command -v "$1" >/dev/null 2>&1 || fatal "Missing dependency: $1"; } need curl need mktemp need tar need uname OS="$(uname -s | tr '[:upper:]' '[:lower:]')" ARCH="$(uname -m)" [ "$OS" = "linux" ] || fatal "Linux only (detected: $OS)" [ "$ARCH" = "x86_64" ] || fatal "This installer expects x86_64 (detected: $ARCH)" ASSET="${APP}-${VERSION}-linux-x86_64.tar.gz" URL="${BASE_URL}/releases/latest/${ASSET}" TMP="$(mktemp -d)" trap 'rm -rf "$TMP"' EXIT curl -fL "$URL" -o "$TMP/$ASSET" tar -xzf "$TMP/$ASSET" -C "$TMP" # Exact archive layout: # resh-0.9.1-linux-x86_64 (single binary file) BIN="$TMP/${APP}-${VERSION}-linux-x86_64" [ -f "$BIN" ] || fatal "Expected binary not found at: $BIN" chmod +x "$BIN" DEST="/usr/local/bin/$APP" if [ "$(id -u)" -eq 0 ]; then install -m 0755 "$BIN" "$DEST" else need sudo sudo install -m 0755 "$BIN" "$DEST" fi "$DEST" --version || true echo "Done."