Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from bundle
Install Google Antigravity IDE on an Arch Linux machine. Use when the user wants Antigravity installed on Arch or an Arch-based distro, either system-wide throu
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
scripts/install_antigravity_arch.sh
1#!/usr/bin/env bash2set -euo pipefail34MODE="auto"5CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/install-antigravity-arch-linux"67usage() {8cat <<'EOF'9Usage:10install_antigravity_arch.sh --system11install_antigravity_arch.sh --local1213Options:14--system Install Antigravity system-wide with yay or paru.15--local Build and install Antigravity under ~/.local without sudo.16--help Show this help.17EOF18}1920die() {21printf 'Error: %s\n' "$*" >&222exit 123}2425need_cmd() {26command -v "$1" >/dev/null 2>&1 || die "Missing required command: $1"27}2829detect_arch() {30[[ -r /etc/os-release ]] || die "Cannot read /etc/os-release"31. /etc/os-release32[[ "${ID:-}" == "arch" || "${ID_LIKE:-}" == *arch* ]] || die "This skill only supports Arch Linux and Arch-based distros"33}3435pick_helper() {36if command -v yay >/dev/null 2>&1; then37printf 'yay\n'38return 039fi40if command -v paru >/dev/null 2>&1; then41printf 'paru\n'42return 043fi44return 145}4647system_install() {48local helper49helper="$(pick_helper)" || die "System install requires yay or paru"5051printf 'Using %s for system-wide install.\n' "$helper"52"$helper" -S --noconfirm --needed antigravity53printf '\nDone.\n'54printf 'Validation:\n'55printf ' which antigravity\n'56printf ' antigravity --version\n'57}5859extract_pkg_field() {60local field="$1"61awk -F= -v key="$field" '$1 == key {gsub(/'\''|"/, "", $2); print $2; exit}' PKGBUILD62}6364local_install() {65local work_dir pkgver pkgfile stage_dir target_dir local_bin icon_src mime_src6667need_cmd curl68need_cmd tar69need_cmd bsdtar70need_cmd makepkg71need_cmd install72need_cmd awk73need_cmd sed7475mkdir -p "$CACHE_DIR"76work_dir="$CACHE_DIR/build"77rm -rf "$work_dir"78mkdir -p "$work_dir"7980printf 'Downloading AUR snapshot...\n'81curl -L --fail --output "$CACHE_DIR/antigravity.tar.gz" \82https://aur.archlinux.org/cgit/aur.git/snapshot/antigravity.tar.gz8384tar -xzf "$CACHE_DIR/antigravity.tar.gz" -C "$work_dir"85cd "$work_dir/antigravity"8687printf 'Building package as current user...\n'88makepkg -f --noconfirm8990pkgver="$(extract_pkg_field pkgver)"91pkgfile="$(find . -maxdepth 1 -type f -name 'antigravity-*.pkg.tar.*' | sort | tail -n1)"92[[ -n "$pkgfile" ]] || die "Built package not found"9394stage_dir="$work_dir/stage"95mkdir -p "$stage_dir"96bsdtar -xf "$pkgfile" -C "$stage_dir"9798target_dir="$HOME/.local/opt/Antigravity-$pkgver"99local_bin="$HOME/.local/bin"100mkdir -p "$HOME/.local/opt" "$local_bin" "$HOME/.local/share/applications" \101"$HOME/.local/share/pixmaps" "$HOME/.local/share/mime/packages"102103rm -rf "$target_dir"104mkdir -p "$target_dir"105cp -a "$stage_dir/opt/Antigravity/." "$target_dir/"106107install -m755 /dev/stdin "$local_bin/antigravity" <<EOF108#!/usr/bin/env bash109set -euo pipefail110exec "$target_dir/bin/antigravity" "\$@"111EOF112113icon_src="$stage_dir/usr/share/pixmaps/antigravity.png"114if [[ -f "$icon_src" ]]; then115install -m644 "$icon_src" "$HOME/.local/share/pixmaps/antigravity.png"116fi117118install -m644 /dev/stdin "$HOME/.local/share/applications/antigravity.desktop" <<EOF119[Desktop Entry]120Name=Antigravity121Comment=Experience liftoff122GenericName=Text Editor123Exec=$HOME/.local/bin/antigravity %F124Icon=$HOME/.local/share/pixmaps/antigravity.png125Type=Application126StartupNotify=false127StartupWMClass=Antigravity128Categories=TextEditor;Development;IDE;129MimeType=application/x-antigravity-workspace;130Actions=new-empty-window;131Keywords=vscode;132133[Desktop Action new-empty-window]134Name=New Empty Window135Exec=$HOME/.local/bin/antigravity --new-window %F136Icon=$HOME/.local/share/pixmaps/antigravity.png137EOF138139install -m644 /dev/stdin "$HOME/.local/share/applications/antigravity-url-handler.desktop" <<EOF140[Desktop Entry]141Name=Antigravity - URL Handler142Comment=Experience liftoff143GenericName=Text Editor144Exec=$HOME/.local/bin/antigravity --open-url %U145Icon=$HOME/.local/share/pixmaps/antigravity.png146Type=Application147NoDisplay=true148StartupNotify=true149Categories=Utility;TextEditor;Development;IDE;150MimeType=x-scheme-handler/antigravity;151Keywords=vscode;152EOF153154mime_src="$stage_dir/usr/share/mime/packages/antigravity-workspace.xml"155if [[ -f "$mime_src" ]]; then156install -m644 "$mime_src" "$HOME/.local/share/mime/packages/antigravity-workspace.xml"157fi158159if command -v update-desktop-database >/dev/null 2>&1; then160update-desktop-database "$HOME/.local/share/applications" || true161fi162163if command -v update-mime-database >/dev/null 2>&1; then164update-mime-database "$HOME/.local/share/mime" || true165fi166167printf '\nDone.\n'168printf 'Local install path: %s\n' "$target_dir"169printf 'Binary wrapper: %s\n' "$HOME/.local/bin/antigravity"170printf 'Validation:\n'171printf ' which antigravity\n'172printf ' antigravity --version\n'173}174175while [[ $# -gt 0 ]]; do176case "$1" in177--system)178MODE="system"179;;180--local)181MODE="local"182;;183--help|-h)184usage185exit 0186;;187*)188die "Unknown argument: $1"189;;190esac191shift192done193194detect_arch195196case "$MODE" in197system)198system_install199;;200local)201local_install202;;203auto)204die "Choose exactly one install mode: --system or --local"205;;206esac207