diff --git a/common.sh b/common.sh index 38bf8fa..c407426 100644 --- a/common.sh +++ b/common.sh @@ -20,6 +20,13 @@ caffeinate -disu & CAFFEINATE_PID=$! trap 'kill $CAFFEINATE_PID 2>/dev/null' EXIT +# ============================================ +# Homebrew tap trust +# - GitHub Actions macOS 러너에 aws/tap 이 기본으로 미리 tap 되어 있어서 +# brew install/update 할 때마다 "not trusted" 경고가 뜸 — 신뢰하는 tap 이므로 미리 승인 +# ============================================ +brew trust --tap aws/tap 2>/dev/null || true + # ============================================ # Helper Functions # ============================================ @@ -63,8 +70,11 @@ brew_install_cask() { echo " ↳ Installing cask $cask" brew install --cask "$cask" || { - echo "⚠️ Cask $cask install failed. Updating Homebrew and retrying..." + echo "⚠️ Cask $cask install failed. Updating Homebrew and retrying with a forced re-download..." brew update + # 체크섬 불일치는 대개 벤더 CDN 이 같은 URL 에 다른 바이너리를 올려서 생기는 일시적 현상 — + # 캐시된(잘못된) 다운로드를 버리고 강제로 다시 받아야 재시도가 의미 있음 + brew fetch --force --cask "$cask" || true brew install --cask "$cask" } } diff --git a/setup.sh b/setup.sh index 2e4f177..882a2cd 100755 --- a/setup.sh +++ b/setup.sh @@ -61,10 +61,15 @@ echo "✅ Applications ready" # - launchOnLogin 만 미리 설정 (환영 다이얼로그에 없어서 까먹기 쉬움) # - 단축키 프리셋, 타일링 끄기, Accessibility 는 첫 실행 UI 에서 안내 # ============================================ -echo "📐 Launching Rectangle..." +echo "📐 Configuring Rectangle..." defaults write com.knollsoft.Rectangle launchOnLogin -bool true -open -a Rectangle -echo "✅ Rectangle launched" +# GUI 앱 실행은 데스크톱에서만 의미 있음 — 헤드리스 CI 러너에선 open -a 가 비정상 종료해 set -e 로 전체가 죽음 +if [[ -n "$SETUP_NONINTERACTIVE" ]]; then + echo " ↳ SETUP_NONINTERACTIVE — Rectangle 실행 스킵" +else + open -a Rectangle +fi +echo "✅ Rectangle ready" # ============================================ # Vim Settings @@ -90,6 +95,8 @@ eval "$(mise activate bash)" echo "🐹 Setting up Go..." mise use --global go@1.24 +append_line_if_missing "$HOME/.zshrc" 'export GOPATH="$HOME/.local/share/go"' +append_line_if_missing "$HOME/.zshrc" 'export PATH="$GOPATH/bin:$PATH"' echo "📦 Setting up Node.js..." mise use --global node@lts diff --git a/system_setup.sh b/system_setup.sh index 5375846..c693089 100644 --- a/system_setup.sh +++ b/system_setup.sh @@ -60,8 +60,8 @@ defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 60 \ " -# 변경사항 즉시 적용 -/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u +# 변경사항 즉시 적용 (GUI 세션 필요 — 헤드리스 CI 에선 실패할 수 있어 best-effort) +/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u || true echo "✅ Keyboard shortcuts ready" @@ -154,8 +154,8 @@ defaults write com.apple.dock autohide-delay -float 0 # Auto-hide 애니메이션 속도 (빠르게) defaults write com.apple.dock autohide-time-modifier -float 0.3 -# Dock 재시작하여 변경사항 적용 -killall Dock +# Dock 재시작하여 변경사항 적용 (Dock 미실행 시 killall 이 비정상 종료 → set -e 회피) +killall Dock || true echo "✅ Dock configured"