Files
homelab/scripts/01-macmini-init.sh

45 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# ==============================================================================
# 01-macmini-init.sh
# 用途:Mac mini (M6) 家庭 All-in-One 服务器底座初始化脚本
# 包含:电源防休眠配置、标准目录初始化、Homebrew + OrbStack + 常用开发工具安装
# ==============================================================================
set -euo pipefail
echo ">>> [1/4] 创建标准服务器目录结构 (~/homelab & ~/workspace)..."
mkdir -p "$HOME/homelab/stacks/{lucky,tailscale,monitoring}"
mkdir -p "$HOME/homelab/scripts"
mkdir -p "$HOME/homelab/backups"
mkdir -p "$HOME/workspace"
echo ">>> [2/4] 配置 macOS 服务器电源管理策略 (pmset: 永不休眠 + 断电自启 + 网络唤醒)..."
sudo pmset -a \
sleep 0 \
disksleep 0 \
displaysleep 10 \
standby 0 \
autorestart 1 \
womp 1 \
tcpkeepalive 1 \
powernap 1
pmset -g
echo ">>> [3/4] 检查并安装 Homebrew..."
export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
if ! command -v brew >/dev/null 2>&1; then
echo "正在安装 Homebrew..."
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
if ! grep -q '/opt/homebrew/bin/brew' "$HOME/.zprofile" 2>/dev/null; then
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> "$HOME/.zprofile"
fi
eval "$(/opt/homebrew/bin/brew shellenv)"
else
echo "Homebrew 已安装: $(brew --version | head -n 1)"
fi
echo ">>> [4/4] 安装容器底座 (OrbStack)、组网工具 (Tailscale) 与远程开发工具链..."
brew install --cask orbstack tailscale-app
brew install git tmux btop ripgrep fd jq wget fnm uv
echo "✅ Mac mini 基础底座初始化完成!"