Last active
March 20, 2025 09:04
-
-
Save yoshiko-pg/6391ac9d9524dddafabcb846e19d19ce to your computer and use it in GitHub Desktop.
setup my mac
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
# --- 引数のチェック --- | |
if [ "$#" -ne 2 ]; then | |
echo "Usage: $0 [work|personal] [dotfiles_repo_url]" | |
exit 1 | |
fi | |
MODE="$1" | |
DOTFILES_REPO="$2" | |
if [[ "$DOTFILES_REPO" != *"://"* && "$DOTFILES_REPO" != git@* ]]; then | |
DOTFILES_REPO="[email protected]:${DOTFILES_REPO}.git" | |
fi | |
echo "セットアップを開始します。モード: $MODE, dotfilesリポジトリ: $DOTFILES_REPO" | |
# --- 1. Homebrew のチェック&インストール --- | |
if ! command -v brew >/dev/null 2>&1; then | |
echo "Homebrew が見つかりません。インストールします..." | |
echo -e "\033[33mHomebrewのインストールではパスワード入力が求められる場合があります。\033[0m" | |
echo -e "\033[33mプロンプトが表示されたら、パスワードを入力してください。\033[0m" | |
# TTYが必要なインストールスクリプトを実行 | |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | |
# Homebrewがインストールされたか再確認 | |
if ! command -v brew >/dev/null 2>&1; then | |
# PATHに追加する可能性のある場所を試す | |
eval "$(/opt/homebrew/bin/brew shellenv 2>/dev/null || true)" | |
eval "$(/usr/local/bin/brew shellenv 2>/dev/null || true)" | |
# それでも見つからない場合 | |
if ! command -v brew >/dev/null 2>&1; then | |
echo -e "\033[31mHomebrew のインストールに失敗しました。\033[0m" | |
echo "以下のコマンドを手動で実行してから、もう一度試してください:" | |
echo "/bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"" | |
exit 1 | |
fi | |
fi | |
echo -e "\033[32mHomebrew のインストールに成功しました。\033[0m" | |
else | |
echo "Homebrew は既にインストール済みです。" | |
fi | |
# --- 2. GitHub CLI (gh) と chezmoi のインストール --- | |
if ! command -v gh >/dev/null 2>&1; then | |
echo "GitHub CLI (gh) をインストールします..." | |
brew install gh | |
else | |
echo "GitHub CLI (gh) は既にインストール済みです。" | |
fi | |
if ! command -v chezmoi >/dev/null 2>&1; then | |
echo "chezmoi をインストールします..." | |
brew install chezmoi | |
else | |
echo "chezmoi は既にインストール済みです。" | |
fi | |
# --- 3. GitHub CLI によるログイン --- | |
echo "GitHub CLI を使ってログインします(ブラウザ認証)..." | |
gh auth login --hostname github.com --web | |
# --- 5. SSH 接続の確認 --- | |
echo "GitHub への SSH 接続を確認します..." | |
ssh -T [email protected] || echo "初回接続の場合、ホスト確認メッセージが表示されることがあります。" | |
# --- 6. chezmoi で dotfiles リポジトリを初期化 --- | |
echo "chezmoi を使って dotfiles リポジトリ ($DOTFILES_REPO) を初期化します..." | |
chezmoi init "$DOTFILES_REPO" | |
# --- 7. chezmoi の設定ファイル(chezmoi.toml)の更新 --- | |
CONFIG_DIR="${HOME}/.config/chezmoi" | |
CONFIG_FILE="${CONFIG_DIR}/chezmoi.toml" | |
mkdir -p "${CONFIG_DIR}" | |
echo "chezmoi のモードを ${MODE} に設定します。(${CONFIG_FILE})" | |
cat <<EOF > "${CONFIG_FILE}" | |
[data] | |
mode = "${MODE}" | |
EOF | |
# --- 8. chezmoi apply を実行して設定を反映 --- | |
echo "chezmoi apply を実行して設定を反映します..." | |
chezmoi apply | |
echo "✅ セットアップ完了!ターミナルを再起動してください。" | |
# --- 10. YouTube Music のページを開く (手動でPWAインストール) --- | |
echo "🌐 Google Chrome で YouTube Music を開きます。PWAとしてインストールしてください" | |
open -a "Google Chrome" "https://music.youtube.com/" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment