Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
719 changes: 719 additions & 0 deletions .airstack/modules/osmo.sh

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,5 @@ common/rayfronts/

# Docker build cache (root-owned subdirs cause permission warnings on `git add`)
robot/docker/cache/
.DS_Store
gcs/.DS_Store
41 changes: 41 additions & 0 deletions airstack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,47 @@
# This script provides a unified interface for common development tasks
# in the AirStack project, including setup, installation, and container management.

# Re-exec under bash 4+ if necessary. macOS ships bash 3.2 which can't handle
# `declare -A` (associative arrays) used throughout this script. Searches for
# a newer bash via $AIRSTACK_BASH, then common Homebrew install paths, then
# any `bash` on PATH that reports version >= 4. Sets AIRSTACK_REEXEC_BASH=1
# to guard against infinite re-exec loops.
if [ -z "${AIRSTACK_REEXEC_BASH:-}" ] && [ "${BASH_VERSINFO[0]:-0}" -lt 4 ]; then
_airstack_candidates=(
"${AIRSTACK_BASH:-}"
/opt/homebrew/bin/bash # Apple Silicon Homebrew
/usr/local/bin/bash # Intel Homebrew
/opt/local/bin/bash # MacPorts
)
if command -v bash5 >/dev/null 2>&1; then
_airstack_candidates+=("$(command -v bash5)")
fi
# Add any `bash` on PATH whose version is >= 4 (other than the one we just
# got here from, which is < 4 by the if-check above).
for _alt in $(command -v -a bash 2>/dev/null); do
_airstack_candidates+=("$_alt")
done

for _airstack_alt_bash in "${_airstack_candidates[@]}"; do
[ -z "$_airstack_alt_bash" ] && continue
[ -x "$_airstack_alt_bash" ] || continue
# Probe BASH_VERSINFO[0] without sourcing the script.
if "$_airstack_alt_bash" -c '[ "${BASH_VERSINFO[0]:-0}" -ge 4 ]' 2>/dev/null; then
export AIRSTACK_REEXEC_BASH=1
exec "$_airstack_alt_bash" "$0" "$@"
fi
done

cat >&2 <<'EOF'
[ERROR] airstack.sh requires bash 4 or newer (your bash is 3.x).
macOS ships bash 3.2 by default; install a modern bash with:
brew install bash
Or set AIRSTACK_BASH=/path/to/bash >= 4 before invoking this script.
EOF
exit 1
fi
unset AIRSTACK_REEXEC_BASH

set -e

# Script directory
Expand Down
7 changes: 7 additions & 0 deletions docs/getting_started/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Getting Started

!!! tip "On Mac, Windows, or no GPU?"

This page assumes a Linux desktop with an NVIDIA GPU. If that's not you,
use [AirStack on OSMO](../tutorials/airstack_on_osmo.md) instead — you
only need an SSH key, the `osmo` CLI, and VS Code or Cursor. No local
Docker, no NVIDIA drivers, no `airstack install`.

!!! warning ""

AirStack is currently in ALPHA and only meant for internal usage.
Expand Down
Loading
Loading