Open4

MacBookにmacOS Ventura 13.6.4をクリーンインストールした後の設定

oddstroddstr

前書き

  • MacBook (Retina, 12-inch, 2017) (機種ID: MacBook10,1)の内蔵ドライブを完全に消去してイチからmacOS Ventura 13.6.4をインストールした。
  • 消去とインストールは諸事情によりインストールメディアを作成することなくネットワーク経由で行ったが、途中少しハマった点もあったので別途記すかもしれない。
  • 以前の環境からの移行は行わない。
  • Homebrewを軸にCLIツールを管理するが、バージョン切り替えの需要がありそうなもの(node、java、pythonなど)はasdf互換のmiseを利用する。
  • GUIアプリやフォントもできる限りHomebrew Caskを利用する。
oddstroddstr

さしあたって必要そうなGUI設定

最初の起動時の設定アシスタント

  • 時間帯設定、ログインアカウント作成など言われるままに
  • Apple IDはとりあえず未入力(クリップボード共有がだいぶ便利なので後でやるかも)
  • バックアップからの復元や移行はしない

ログイン後のシステム設定

  • (内蔵US配列キーボード向け)左カラム下の方から キーボード > キーボードショートカット > 修飾キー と進んでCaps lockキーにControlキーの機能を割り当てる(このあたりの記事を参考に )
  • キーボードショートカット内の 入力ソース で前の入力ソースを選択をCommand+Spaceに(重複の警告⚠が出るならSpotlightの方をControl+Spaceに)
  • プライバシーとセキュリティ > フルディスクアクセス でTerminal.appを追加(Mojaveでの導入時の参考
  • 以下、色々カスタマイズの参考になるかもしれない記事

Dockの標準アプリ整理

大した数ではないので1つずつドラッグアンドドロップで除去してもいいんだけど、どうせならコマンドラインで他の便利オプションも一緒に設定する(参考

# 固定されているアプリを全消去
defaults write com.apple.dock persistent-apps -array
# 画面スペース節約のため自動的に隠す
defaults write com.apple.dock autohide -bool true
# マウスポインタを持ってった時に表示されるまでのディレイ秒数
defaults write com.apple.dock autohide-delay -float 0
# 端から出てくるアニメーションにかかる秒数
defaults write com.apple.dock autohide-time-modifier -float 0.5
# 表示サイズ
defaults write com.apple.dock tilesize -int 32
# 拡大機能をonに
defaults write com.apple.dock magnification -bool true
# 拡大時のサイズ
defaults write com.apple.dock largesize -int 96
# 設定反映のためDock.appを再起動
killall Dock
oddstroddstr

Homebrew

Homebrew本体のインストール

  • 「予めsudo xcode-select --installでXcodeのCommand Line Toolsのみインストールしておこう」みたいな解説が散見されるが、少なくとも現時点ではHomebrew公式のインストールスクリプトが必要なもの全てインストールしてくれるのでいきなり実行してよい(これについては少し調べて書いた)。
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Command Line ToolsのインストールとHomebrewリポジトリのcloneの2箇所で少々時間がかかるが問題なく完了。
  • 出力される「Next steps:」の指示通りに後処理。
% (echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> $HOME/.zprofile
% eval "$(/usr/local/bin/brew shellenv)"
% brew --version
Homebrew 4.2.7
% brew doctor
Your system is ready to brew.
% brew list
% xcode-select -p       
/Library/Developer/CommandLineTools
  • この時点で ~/.zprofile は存在していなかったため新規に作成されていた。
% cat ~/.zprofile

eval "$(/usr/local/bin/brew shellenv)"
oddstroddstr

dotfilesのGit管理とGitHub接続設定

前提

  • GitHubアカウントは登録済み。

Git初期設定

  • GitHub Docsの「Gitのセットアップ」がまとまっていてよいので参考にする。
  • brew install gitで最新バージョンにしておく。
  • 名前とコミットメールアドレスの設定。実メアドの使用も考えたが、当面はGitHub以外を使う見通しがないので万一そうなった場合は個別設定すればいいと考えプライベートにしておく。
  • XcodeのGitではinit.defaultBranchmain設定されているが、Homebrewのほうではなされていない。今のところ未設定だとmasterでやってくれるがgit initのたびに大きなメッセージが出るのはうっとおしいので設定しておくことにする(2020年あたりのこのへんの経緯について生の議論へのポインタをまとめたGistがあった)。
% git config --global user.name oddstr
% git config --global user.email 20980+oddstr@users.noreply.github.com
% git config --global init.defaultBranch main
% cat ~/.gitconfig 
[user]
	name = oddstr
	email = 20980+oddstr@users.noreply.github.com
[init]
	defaultBranch = main

SSHによるGitHub接続

  • SSH鍵生成も含めてよきにはからってくれるのが便利なのでGitHub CLIを使うことにし、brew install ghする。
  • gh auth loginで鍵生成、登録。
  • 鍵を使ってのテストログイン。
% ssh -T git@github.com
The authenticity of host 'github.com (20.27.177.113)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Enter passphrase for key '/Users/***/.ssh/id_ed25519': 
Hi oddstr! You've successfully authenticated, but GitHub does not provide shell access.
  • ssh-agentに鍵を登録するとともにmacOSのキーチェーンにパスフレーズを覚えさせる。
% ssh-add --apple-use-keychain ~/.ssh/id_ed25519
  • ssh-add -lで現在走っているssh-agentに登録されている鍵のリストを確認できる。
  • ログアウトや再起動後(=ssh-agentのプロセス終了後)に自動的にaddはされないので、ssh接続を行う前にキーチェーンに登録されている鍵を読み込ませるてやるとよい。
% ssh-add --apple-load-keychain
  • さしあたって手動で行い、頻度が高くて面倒になったら.zshrcに追記するかlaunchctlで登録してログイン時に実行することにする。
  • つまずきやすい手順であるためかネット上には怪しい解説が多いのだが、この2つの記事は参考になった(後者はオプションが以前の-A-Kなので要読み替え)。

https://madoverload.com/2022/04/29/mac-ssh-agent/
https://qiita.com/yuki153/items/0ad5cb02faf3ecdcf903