Open4
MacBookにmacOS Ventura 13.6.4をクリーンインストールした後の設定
前書き
- MacBook (Retina, 12-inch, 2017) (機種ID: MacBook10,1)の内蔵ドライブを完全に消去してイチからmacOS Ventura 13.6.4をインストールした。
- 消去とインストールは諸事情によりインストールメディアを作成することなくネットワーク経由で行ったが、途中少しハマった点もあったので別途記すかもしれない。
- 以前の環境からの移行は行わない。
- Homebrewを軸にCLIツールを管理するが、バージョン切り替えの需要がありそうなもの(node、java、pythonなど)はasdf互換のmiseを利用する。
- GUIアプリやフォントもできる限りHomebrew Caskを利用する。
さしあたって必要そうな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
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)"
dotfilesのGit管理とGitHub接続設定
前提
- GitHubアカウントは登録済み。
Git初期設定
- GitHub Docsの「Gitのセットアップ」がまとまっていてよいので参考にする。
-
brew install git
で最新バージョンにしておく。 - 名前とコミットメールアドレスの設定。実メアドの使用も考えたが、当面はGitHub以外を使う見通しがないので万一そうなった場合は個別設定すればいいと考えプライベートにしておく。
- XcodeのGitでは
init.defaultBranch
はmain
に設定されているが、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
なので要読み替え)。