Mac初期化の手順

 

背景

Macの環境がごちゃごちゃになってきた(特にHomebrew)ので、一旦OSをクリーンにしてリセットしたい。

MacOSのUser Transfer機能が追加されて、クリーンインストールがしやすくなったので、昔と比べて初期化のハードルは下がった。

方針:アプリのインストールはHomebrewに集約する。

現行環境の棚卸し

結論:再セットアップ対象は、ユーザー追加GUIアプリ61個、Homebrew formula 76個、Homebrew cask 6個。復元は~/.Brewfileを主軸にし、優先順位は Homebrew cask > Homebrew formula > mas > 手動インストール とする。

  • Homebrew管理済みcask: antigravity-cli, cc-switch, claude-code@latest, codex, copilot-cli, ghostty
  • Homebrew tap: anomalyco/tap, farion1231/ccswitch, nikitabobko/tap, tw93/tap
  • 明示インストールformula: bat, btop, eza, fastfetch, ffmpeg, fzf, gemini-cli, gh, git, git-delta, gum, jq, lazydocker, lazygit, mas, minikube, mise, mole, neovim, ripgrep, starship, tmux, yazi, zoxide, zsh-autosuggestions, zsh-syntax-highlighting
  • mas list取得済み。Pages / Numbers / Keynote は新旧IDのレシートが並ぶが、Brewfileでは現行IDを優先する。
  • dev.orbstack.OrbStack.privhelper.plistは残っているが、/ApplicationsにはOrbStack本体が見えなかった。再セットアップ時はorbstackを明示的に入れる。
  • VS Code拡張一覧は取得済み。必要なら別途インストールコマンド化する。

このMacで確認した個別設定

結論:アプリとCLIはomancos-term~/.Brewfileで大半を戻せる。移行時に漏れやすいのは、macOS本体設定、ログイン項目、Dock、入力ソース、プリンタ、各アプリ内設定。

  • 本体: Mac mini / Apple M2 / 16GB / arm64 / macOS 26.5
  • コンピュータ名: duke13-macmini
  • ローカルホスト名: duke13-macmini
  • タイムゾーン: Asia/Tokyo
  • シェル: /bin/zsh
  • Git: user.name=HarrisonSanada, user.email=togo13duke@gmail.com
  • 表示・地域: ダークモード、言語 en-JP + ja-JP、地域 en_JP
  • Finder: 拡張子を常時表示、パスバー表示、隠しファイルは非表示、標準表示はカラム表示、検索範囲は現在のフォルダ
  • Dock: 自動的に表示/非表示、サイズ 28、最近使ったアプリは非表示、右下ホットコーナーはQuick Note
  • Dock固定アプリ: Google Chrome / Safari / Notes / Obsidian / Ghostty / Visual Studio Code / App Store / System Settings
  • 入力ソース: ABC、Japanese - Romaji、Character Palette、50音パレット、PressAndHold
  • トラックパッド: タップでクリック、三本指ドラッグ、右クリック、縦横スクロール、回転、ピンチが有効
  • 電源: ディスプレイスリープ30分、システムスリープ1分、Power Nap有効、Wake on LAN有効
  • プリンタ: Canon_TS8700_series がデフォルト。ただし現状はdisabledなので、移行後にCanon公式ドライバで再追加する
  • ログイン項目: Googly Eyes / Itsycal / KeyClicker / LocalSend / Maccy / OrbStack / PopClip / ProNotes / Rectangle / RunCat / baRSS
  • 常駐LaunchAgent/Daemon: Nextcloud、OrbStack privileged helper
  • mise管理ランタイム: bun / dotnet / node / python / uv。~/.config/mise/config.tomlでは各ランタイムをlatest指定

移行後は、以下の順で確認する。

  1. iCloud / App Store / Google / GitHub / Nextcloudへログイン
  2. Nextcloud同期対象とObsidian Vaultのパスを確認
  3. ~/.ssh~/.gitconfig~/.config配下、VS Code User設定を戻す(シェル設定 ~/.zshrc / ~/.zprofile / ~/.config/shell/ は omancos-term が正。バックアップは参照用にとどめ、上書きで戻さない)
  4. ログイン項目とメニューバーアプリを必要なものだけ有効化
  5. Finder / Dock / 入力ソース / トラックパッド / プリンタを手動確認
  6. VS Code拡張を復元
  7. ブラウザ拡張、パスワード、2FA、AIクライアント類にログイン

バックアップ

必要な設定ファイルはNextCloudにアップロードしておく

  • ~/.Brewfile(Homebrew一括復元の主軸。このノートのRubyブロックと同じ内容)
  • ~/.ssh/ フォルダ(秘密鍵・config
  • ~/.gitconfig
  • ~/.zshrc, ~/.zprofile
  • ~/.config/mise/config.toml
  • ~/.config/shell/
  • ~/.config/nvim/(Neovim設定)
  • ~/.config/tmux/
  • ~/.config/yazi/
  • ~/.config/starship.toml
  • ~/.config/btop/
  • ~/.config/opencode/
  • ~/.config/mole/
  • ~/.claude/ フォルダ(Claude Code設定・memory)
  • ~/Library/Application Support/Code/User/(VS Code設定)
  • VS Code拡張一覧(code --list-extensions
  • ~/Library/LaunchAgents/ のうち自分で入れた常駐アプリ
  • アプリ個別設定:Rectangle / Maccy / PopClip / Itsycal / KeyClicker / RunCat / Hidden Bar / baRSS
  • Repository(GitHubにあれば不要)
  • Obsidian Vault(Nextcloud経由で自動同期)
  • Nextcloud同期対象の確認
  • Canonプリンタ設定
  • ブラウザプロファイル / パスワード / 2FA復旧コード
  • プロダクトキー類

初期化前の最終確認

# Homebrew
brew tap
brew leaves
brew list --formula --versions
brew list --cask --versions

# Mac App Store
mas list

# 手動インストール / 常駐系の痕跡
find /Applications "$HOME/Applications" -maxdepth 1 -name "*.app" -print | sort
pkgutil --pkgs | rg -v '^com\.apple\.'
find "$HOME/Library/LaunchAgents" /Library/LaunchAgents /Library/LaunchDaemons -maxdepth 1 -type f -name "*.plist" -print 2>/dev/null | sort

# VS Code拡張
code --list-extensions

# macOS本体設定
sw_vers
uname -m
scutil --get ComputerName
scutil --get LocalHostName
readlink /etc/localtime
defaults read -g AppleInterfaceStyle
defaults read -g AppleLanguages
defaults read -g AppleLocale
defaults read -g AppleShowAllExtensions
defaults read com.apple.finder ShowPathbar
defaults read com.apple.finder FXPreferredViewStyle
defaults read com.apple.finder FXDefaultSearchScope
defaults read com.apple.dock autohide
defaults read com.apple.dock tilesize
defaults read com.apple.dock show-recents
defaults read com.apple.dock wvous-br-corner
defaults read com.apple.HIToolbox AppleEnabledInputSources
defaults read com.apple.AppleMultitouchTrackpad
pmset -g custom
lpstat -p -d

# ログイン項目 / Dock固定アプリ
osascript -e 'tell application "System Events" to get the name of every login item'
defaults read com.apple.dock persistent-apps

初期化

実行前に、移行先で必要なデータが同期済みであることを確認する。現状このMacはActivation Lockが有効なので、売却・譲渡・完全初期化する場合は必ずApple Accountからサインアウトし、Find My Macを解除する。

Settings → General → Transfer or Reset

初期設定

1. Homebrew インストール

初手で必要なのはGit。クリーンなmacOSではgit cloneができないので、先にXcode Command Line Toolsを入れる。

# Xcode Command Line Tools(gitを含む)
sudo xcode-select --install

# インストール完了後に確認
git --version

# Homebrew本体
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. ターミナル開発環境(omancos-term)

mkdir -p ~/Repositories
git clone https://github.com/togo13duke/omancos-term.git ~/Repositories/omancos-term
cd ~/Repositories/omancos-term
./install.sh

install.sh が自動でセットアップするもの:

  • Homebrew packages:ghostty / neovim / orbstack / tmux / starship / fzf / eza / zoxide / bat / ripgrep / jq / gum / lazygit / lazydocker / claude-code / codex / gemini-cli 他
  • LazyVim~/.config/nvim/
  • シェル設定~/.zshrc, ~/.zprofile, ~/.config/shell/
  • mise ランタイム:node / python / bun / dotnet / uv
  • Git ユーザー設定(name・email を対話入力)

3. アプリ(~/.Brewfile から一括)

実行前に ~/.Brewfile を用意する(Nextcloudのバックアップから戻すか、下のRubyブロックをそのまま ~/.Brewfile に保存する)。App Storeへのサインインも済ませておく。

brew bundle --global
# ── Taps ──────────────────────────────────────────
tap "farion1231/ccswitch"
tap "tw93/tap"
tap "relikd/tap"

# ── Casks: 開発ツール ──────────────────────────────
# ghostty / orbstack / claude-code / codex / gemini-cli は omancos-term で導入済み
cask "visual-studio-code"    # IDE
cask "obsidian"              # ナレッジベース
cask "anki"                  # 暗記カード

# ── Casks: AI ──────────────────────────────────────
cask "claude"                # Claude デスクトップ(claude-code CLI は omancos-term で導入済み)
cask "codex-app"
cask "cc-switch"             # Claude Code切り替え

# ── Casks: ブラウザ ────────────────────────────────
cask "google-chrome"

# ── Casks: ユーティリティ ──────────────────────────
cask "rectangle"             # 画面分割
cask "maccy"                 # クリップボード履歴
cask "popclip"               # テキスト選択メニュー拡張
cask "itsycal"               # メニューバーカレンダー
cask "appcleaner"            # アンインストール補助
cask "latest"                # アプリアップデート確認
cask "keka"                  # 圧縮・解凍

# ── Casks: メディア ────────────────────────────────
cask "iina"                  # 動画・音声再生
cask "calibre"               # 電子書籍管理
cask "plex"                  # メディアサーバークライアント

# ── Casks: クラウド・ネットワーク ──────────────────
cask "nextcloud"             # 個人クラウドドライブ
cask "relikd/tap/barss"      # RSSリーダー
cask "raspberry-pi-imager"   # Raspberry Pi OS書き込み

# ── Formula: Git追加ツール ─────────────────────────
# git / gh / lazygit は omancos-term で導入済み
brew "git-delta"             # diffビューア

# ── Formula: ファイル操作・メディア ───────────────
brew "yazi"                  # ファイルマネージャTUI
brew "ffmpeg"                # メディア処理

# ── Formula: インフラ ──────────────────────────────
brew "tw93/tap/mole"         # macOSクリーンアップ(core の mole と名前衝突するためフルパス指定)

# ── Formula: ユーティリティ ────────────────────────
brew "mas"                   # Mac App Store CLI(Brewfile内のmasセクションに必要)

# ── Mac App Store ──────────────────────────────────
mas "CotEditor", id: 1024640650                 # テキストエディタ(cask から MAS に変更)
mas "LocalSend", id: 1661733229                 # ローカルファイル送受信(cask から MAS に変更)
mas "Wipr", id: 1662217862                      # 広告ブロック
mas "RunCat", id: 1429033973                    # メニューバー猫
mas "Hidden Bar", id: 1452453066                # メニューバー整理
mas "KeyClicker", id: 6740425504                # キータイプ音
mas "Tampermonkey Classic", id: 1482490089      # ユーザースクリプト
mas "Immersive Translate", id: 6447957425       # ダブル字幕・翻訳
mas "Wappalyzer", id: 1520333300                # 技術スタック確認
mas "G App Launcher", id: 1543803459            # GoogleアプリをSafariで
mas "Googly Eyes", id: 6743048714               # マウス追跡目
mas "Kindle", id: 302584613                     # 電子書籍
mas "Keynote", id: 361285480
mas "Numbers", id: 361304891
mas "Pages", id: 361309726
mas "iMovie", id: 408981434
mas "Windows App", id: 1295203466              # RDPクライアント
mas "Xcode", id: 497799835
mas "TestFlight", id: 899247664
mas "Obsidian Web Clipper", id: 6720708363
mas "DevCleaner", id: 1388020431               # Xcode派生ファイル削除
mas "Developer", id: 640199958
mas "karakeeper Bookmarker", id: 6746722790
mas "TinyStudio", id: 6448954288

baRSSは初回起動前にGatekeeperの隔離属性を外す。

xattr -d com.apple.quarantine /Applications/baRSS.app

4. Homebrew非対応アプリ(手動インストール)

アプリ入手先用途
ChatWisehttps://chatwise.app/AIデスクトップクライアント
NextAI TranslatorGitHub翻訳
Ankira自作アプリ暗記 / 学習
EpubKithttps://epubkit.app/サイトからEPUB生成
ProNoteshttps://www.pronotes.app/Apple Notes拡張
Z-Library公式 / 配布元要確認電子書籍
MiraaApp Storeメディア / 学習
Comic2Books配布元要確認電子書籍変換
Canon UtilitiesCanon公式プリンタドライバ

手動扱いにしたものは、Brewfile復元後に本当に必要か確認する。使っていないものまで戻すと、クリーンインストールの意味が薄れる。

5. macOS本体設定の復元

コマンドで戻せる範囲だけ実行する。ログイン項目、入力ソース、プリンタ、アプリ内設定は手動確認が必要。

# 名前 / タイムゾーン
sudo scutil --set ComputerName "duke13-macmini"
sudo scutil --set LocalHostName "duke13-macmini"
sudo systemsetup -settimezone "Asia/Tokyo"

# 表示 / 地域
defaults write -g AppleLanguages -array "en-JP" "ja-JP"
defaults write -g AppleLocale -string "en_JP"
defaults write -g AppleShowAllExtensions -bool true

# Finder
defaults write com.apple.finder ShowPathbar -bool true
defaults write com.apple.finder AppleShowAllFiles -bool false
defaults write com.apple.finder FXPreferredViewStyle -string "clmv"
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"

# Dock
defaults write com.apple.dock autohide -bool true
defaults write com.apple.dock tilesize -int 28
defaults write com.apple.dock show-recents -bool false
defaults write com.apple.dock wvous-br-corner -int 14

# Trackpad
defaults write com.apple.AppleMultitouchTrackpad Clicking -bool true
defaults write com.apple.AppleMultitouchTrackpad TrackpadThreeFingerDrag -bool true
defaults write com.apple.AppleMultitouchTrackpad TrackpadRightClick -bool true
defaults write com.apple.AppleMultitouchTrackpad TrackpadScroll -bool true
defaults write com.apple.AppleMultitouchTrackpad TrackpadHorizScroll -bool true
defaults write com.apple.AppleMultitouchTrackpad TrackpadRotate -bool true
defaults write com.apple.AppleMultitouchTrackpad TrackpadPinch -bool true

killall Finder Dock SystemUIServer

手動で戻すもの:

  • 入力ソース: ABC + Japanese - Romaji
  • Dock固定アプリ: Google Chrome / Safari / Notes / Obsidian / Ghostty / Visual Studio Code / App Store / System Settings
  • ログイン項目: Googly Eyes / Itsycal / KeyClicker / LocalSend / Maccy / OrbStack / PopClip / ProNotes / Rectangle / RunCat / baRSS
  • プリンタ: Canon公式ドライバを入れ、Canon_TS8700_seriesを再追加
  • アプリ内設定: Rectangle / Maccy / PopClip / Itsycal / KeyClicker / RunCat / Hidden Bar / baRSS

定期メンテナンス

brew update && brew upgrade --greedy && brew cleanup && mas upgrade

注意点 / トラブルシューティング

  • omancos-term/install.sh~/.zshrc~/.zprofile を上書きするため、既存の設定がある場合は事前にバックアップ
  • brew bundle --global~/.Brewfile を読む。パスが違う場合は --file=<path> で指定
  • MAS経由のインストール(mas install)はApp Storeにサインイン済みでないと失敗する
  • Xcode Command Line ToolsはGitとHomebrewの前提。git --versionが通ってからomancos-termをcloneする

参考

コメント