bootstrap script
change
commit 7d565328a7fa018edf9da0c72f5d70c6415f11fe
author Alpha Chen <alpha@kejadlen.dev>
date
parent 7fd5bc9f
diff --git a/bootstrap.sh b/bootstrap.sh
new file mode 100755
index 00000000..49eaa743
--- /dev/null
+++ b/bootstrap.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env zsh
+
+set -euo pipefail
+if [[ "${TRACE-0}" == "1" ]]; then
+    set -o xtrace
+fi
+
+cd "$(dirname "$0")"
+
+main() {
+  if ! command -v brew &> /dev/null; then
+    echo "Error: Homebrew is required but not installed."
+    echo "Please install Homebrew first: https://brew.sh/"
+    exit 1
+  else
+    echo "Homebrew is installed."
+  fi
+
+  if ! command -v ansible &> /dev/null; then
+    echo "Installing Ansible via Homebrew..."
+    brew install ansible
+  else
+    echo "Ansible is already installed."
+  fi
+
+  mkdir -p boxen
+
+  if [ ! -d "$HOME/src/boxen" ]; then
+    echo "Cloning boxen repository..."
+    mkdir -p "$HOME/src"
+    git clone https://git.kejadlen.dev/alpha/boxen.git "$HOME/src/boxen"
+  else
+    echo "Boxen repository already exists."
+  fi
+
+  cd ~/src/boxen
+  ansible-playbook -l localhost local/main.yml
+}
+
+main "$@"