#!/bin/sh set -eu BINARY="toes-matter" REPO="nakajima/toes-matter" VERSION="0.1.18" RELEASE_BASE_URL="https://git.nose.space" OS="$(uname -s)" ARCH="$(uname -m)" case "$OS" in Linux) OS_TARGET="unknown-linux-gnu" ;; Darwin) OS_TARGET="apple-darwin" ;; *) echo "Unsupported OS: $OS" >&2; exit 1 ;; esac case "$ARCH" in x86_64|amd64) ARCH_TARGET="x86_64" ;; arm64|aarch64) ARCH_TARGET="aarch64" ;; *) echo "Unsupported architecture: $ARCH" >&2; exit 1 ;; esac TARGET="${ARCH_TARGET}-${OS_TARGET}" URL="${RELEASE_BASE_URL}/${REPO}/releases/download/v${VERSION}/${BINARY}-${VERSION}-${TARGET}.tar.gz" TMPDIR="$(mktemp -d)" trap 'rm -rf "$TMPDIR"' EXIT echo "Downloading $BINARY v$VERSION for $TARGET..." curl -fsSL "$URL" | tar xz -C "$TMPDIR" if [ -z "${INSTALL_DIR:-}" ]; then if [ -t 0 ] && [ -r /dev/tty ]; then printf "Install directory [/usr/local/bin]: " > /dev/tty read -r INSTALL_DIR < /dev/tty || true INSTALL_DIR="${INSTALL_DIR:-/usr/local/bin}" else INSTALL_DIR="/usr/local/bin" fi fi install -d "$INSTALL_DIR" install "$TMPDIR/$BINARY" "$INSTALL_DIR/$BINARY" echo "Installed $BINARY to $INSTALL_DIR/$BINARY"