macOS Tahoe 26.3.1を初期セットアップをする
M4チップを搭載したMac miniへmacOS Tahoe 26.3.1を初期セットアップする手順をメモしておきます。
検証環境¶
| 対象 | バージョン |
|---|---|
| ハードウェア | Mac mini 2024 |
| Chipset | Apple M4 Chip |
| メモリ搭載量 | 16GB |
OSの再インストール¶
macOS Tahoe 26.3.1インストール用USBメモリの作成¶
現時点で最新のmacoSであるmacOS Tahoe 26.3.1の新規クリーンインストール用USBメモリを作成します。以前のmacOSであればApp Storeからインストーラをダウンロードできたました。ですがmacOS 26.3.1はApp Storeからダウンロードできません。その為、CLIでインストーラをダウンロードします。インストール可能なOSバージョンは以下のコマンドで確認できます。
softwareupdate --list-full-installers
実際の実行例は以下の通りです。
% softwareupdate --list-full-installers
Finding available software
Software Update found the following full installers:
* Title: macOS Tahoe, Version: 26.4, Size: 17811245KiB, Build: 25E246, Deferred: NO
* Title: macOS Tahoe, Version: 26.3.2, Size: 17514167KiB, Build: 25D2140, Deferred: NO
* Title: macOS Tahoe, Version: 26.3.1, Size: 17509994KiB, Build: 25D2128, Deferred: NO
* Title: macOS Tahoe, Version: 26.3, Size: 17102233KiB, Build: 25D125, Deferred: NO
* Title: macOS Tahoe, Version: 26.2, Size: 16975578KiB, Build: 25C56, Deferred: NO
* Title: macOS Tahoe, Version: 26.1, Size: 16890687KiB, Build: 25B78, Deferred: NO
* Title: macOS Sequoia, Version: 15.7.5, Size: 15288972KiB, Build: 24G624, Deferred: NO
* Title: macOS Sequoia, Version: 15.7.4, Size: 15284807KiB, Build: 24G517, Deferred: NO
* Title: macOS Sequoia, Version: 15.7.3, Size: 15286709KiB, Build: 24G419, Deferred: NO
* Title: macOS Sequoia, Version: 15.7.2, Size: 15285166KiB, Build: 24G325, Deferred: NO
インストーラはファイルサイズが大きい為、ダウンロード完了までにはかなり時間がかかります。
sudo softwareupdate --fetch-full-installer --full-installer-version 26.3.1
インストールがダウンロードできたらインストール用USBメモリを作成します。
sudo /Applications/Install\ macOS\ Tahoe.app/Contents/Resources/createinstallmedia --volume /Volumes/USB-VOL-NAME
macOSの再インストール¶
リカバリーモードで起動し、macOSをクリーンインストールします。リカバリーモードで起動する方法はアーキテクチャによって異なります。Apple Silicon搭載モデルの場合、電源オフ状態から電源ボタンを押したまま待っているとリカバリーモードで起動できます。ただ、macOSのインストーラからはディスクユーティリティを起動することもできず、「上書きインストール」になってしまうようです(クリーンインストールする方法がわかりませんでした)。その為、以下の順序で作業します。
- リカバリーモードで起動
- Optionを選択。その後にディスクユーティリティで既存パーティションを「消去」する
- 電源オフ
- 再度、リカバリーモードで起動する
- USBメモリを選択。macOSをインストールする
OS再インストール後の初期設定¶
SIPの一部無効化¶
yabaiを使って仮想デスクトップの切り替えを行うのですが、yabaiの機能をフル活用するにはSIP(System Integrity Protection)を一部無効化する必要があります。
タイルベースなウインドウマネージャの代表格としてi3があります。macOSの場合はAeroSpaceやAmethystなどが有名です。ですが、これらは仮想デスクトップを切り替える際にmacOSの仕組み上、「画面切り替えのアニメーション」が挿入されます。このアニメーションは最近のmacOSだと通常の方法では無効化できなくなっているそうです。ただし、yabaiであればセキュリティレベルは低下するもののSIPを無効化し、スクリプトを追加(挿入)することで画面切り替えのアニメーションを無効化することができます。
SIPを無効化する手順はDisabling System Integrity Protectionに記載されています。具体的にはリカバリーモードで起動した後、ユーテリティからターミナルを起動して以下を実行します。
csrutil enable --without fs --without debug --without nvram
実際の実行例は以下の通りです。
# csrutil enable --without fs --without debug --without nvram
csrutil: Requesting an unsupported configuration. This is likely to break in the future and leave your machine in an unknown state.
Turning off System Integrity Protection. requires modifying system security.
Allow booting unsigned operating system and any kernel extentions for OS "Macintosh HD"? [y/n]: y
Authorized user: USERNAME
Password :
[System Integrity Protection is on.
Restart the machine for the changes to take effect.
設定が完了したらmacOSを再起動します。
パスワード無しでのsudoを許可する¶
(セキュリティを弱体化させる為、自己責任での設定です) パスワード無しでsudo出来るように設定します。visudo を実行します。
sudo visudo
パスワード無しでsudoさせたいユーザにNOPASSWD:ALL設定を追加します。
USERNAME ALL = (ALL) NOPASSWD:ALL
ディスプレイ¶
私は2枚のディスプレイを以下のように使い分けています。
| 場所 | 向き | 役割 | 用途 |
|---|---|---|---|
| 左側 | 横 | メインディスプレイ | エディタ、ターミナル、メーラ、動画視聴など |
| 右側 | 縦 | サブディスプレイ | Webブラウジング、チャットなど |
具体的にはディスプレイを以下の配置設定にしています。


壁紙¶
壁紙は単色にします。

スクリーンセーバ¶
スクリーンセーバは無効化します。

アクセシビリティ¶
視認性を上げる為、マウスカーソルの表示サイズを大きくしておきます。

デスクトップとDock¶
以下のように設定しました。

ホットコーナーの設定は好みです。

ロック画面¶
以下のように設定しました。セキュリティは低下してしまいますが、ディスプレイをオフしないようにします。

Finder¶
以下のように設定しました。
一般¶

サイドバー¶

詳細¶
ファイルの拡張子を表示するように設定します。

ステータスバーとパスバー¶
Finderにステータスバーとパスバーを表示するように設定しておきます。


インストール¶
Homebrew¶
パッケージマネージャとして定番のHomebrewをインストールします。まず、XCodeのCommand Line Toolsをインストールします。
xcode-select --install
次にHomebrewをインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
JankyBorders¶
JankyBordersでウインドウの枠を強調表示するを使うとアクティブウインドウの枠線を太くしたり、色を変えたり、強調表示できます。Homebrewでインストールします。JankyBordersの設定はyabaiから行います。
brew tap FelixKratz/formulae
brew install borders
yabaiとskhd¶
yabaiでウインドウ管理を行います。また、skhdでyabaiの操作にショートカットを割り当てます。まずHomebrewでyabaiとshkdをインストールします。
brew install \
asmvik/formulae/yabai \
asmvik/formulae/skhd
yabaiが管理者権限でコマンドを実行できるようにする為、/private/etc/sudoers.d/yabaiに設定を追加します。以下を実行して表示されたワンライナーをコピーしておきます。
echo "$(whoami) ALL=(root) NOPASSWD: sha256:$(shasum -a 256 $(which yabai) | cut -d " " -f 1) $(which yabai) --load-sa"
コピーした内容を/private/etc/sudoers.d/yabaiというファイルを新規作成し、このファイルに貼り付けます。
sudo visudo -f /private/etc/sudoers.d/yabai
次に設定ファイルを新規作成します。以下の内容で~/.config/yabai/yabaircを新規作成します。
| ~/.config/yabai/yabairc | |
|---|---|
1 2 3 4 5 | |
同様に以下の内容で~/.config/skhd/skhdrcを新規作成します。
| ~/.config/skhd/skhdrc | |
|---|---|
1 2 3 4 | |
この状態では、まだyabaiは正しく動作しません。macOS 26 Tahoe blocks setting -arm64e_preview_abi boot-arg → scripting addition cannot load #2741に書かれているいますが、以下を実行します。
sudo nvram boot-args=-arm64e_preview_abi
これで設定は完了です。yabaiをサービスとして開始します。
yabai --start-service
次いでskhdをサービスとして開始します。
skhd --start-service
よく利用するツール群¶
よく利用するツールをHomebrewでインストールします。
brew install \
awscli \
axel \
container \
eza \
ffmpeg \
fping \
jq \
mas \
mypy \
neovim \
nmap \
node \
pyinstaller \
pytest \
ripgrep \
ruff \
sheldon \
skopeo \
sshpass \
telnet \
tree \
uv \
xh
caskもインストールします。
brew install --cask \
alt-tab \
antigravity \
biscuit \
claude \
claude-code \
cleanshot \
cmux \
discord \
font-udev-gothic-nf \
fork \
gimp \
google-chrome \
google-japanese-ime \
go-task \
karabiner-elements \
keycastr \
obsidian \
openmtp \
parallels-client \
raycast \
slack \
the-unarchiver \
tigervnc \
tigervnc-viewer \
transmit \
vlc \
voiceink \
webex \
wireshark-app \
zoom
uncmnt¶
uncmntは対象ファイルからコメントなどを除外するツールです。これをインストールします。
sudo curl -fsSL https://github.com/sig9org/uncmnt/releases/download/v0.0.2/uncmnt_v0.0.2_darwin_arm64 -o /usr/local/bin/uncmnt
sudo chmod +x /usr/local/bin/uncmnt
Apple Storeからのインストール¶
App Storeからアプリケーションをインストールします。
| ID | アプリケーション |
|---|---|
| 1230249825 | VMware Remote Console |
| 1295203466 | Windows App |
| 1368204906 | ScreenPointer |
| 1444383602 | Goodnotes |
| 1459748650 | CompareMerge2 |
| 302584613 | Kindle |
| 539883307 | LINE |
mas install \
1230249825 \
1295203466 \
1368204906 \
1444383602 \
1459748650 \
302584613 \
539883307
アプリケーションの設定¶
Google日本語入力¶
IMEとしてGoogle日本語入力を追加します。Google IMEはメンテナンスされなくなって久しいソフトウェアです。その為、一時期はmacOS標準のIMEを使っていたのですが、私には使いづらかった為、Google日本語入力に戻してしまいました…


zsh¶
zshの設定も(~/.zshrcではなく)~/.config配下で行うように変更します。設定ファイル用のディレクトリを作成します。
mkdir -p ~/.config/zsh
zshは起動時に必ず~/.zshenvを読み込みます。ここで「設定ファイルは~/.config/zsh配下にある」ことを設定します。
export ZDOTDIR=$HOME/.config/zsh
if [[ -f "$ZDOTDIR/zshrc" ]]; then
source "$ZDOTDIR/zshrc"
fi
sheldon¶
zshのプラグインはsheldonで管理します。sheldonはRustで実装されており、高速に動作します。まずはじめにsheldonを初期化します。以下を実行すると設定ファイルである~/.config/sheldon/plugins.tomlが作成されます。
sheldon init --shell zsh
zshの起動時にsheldonを読み込むように設定します。
echo 'eval "$(sheldon source)"' >> ~/.config/zsh/zshrc
sheldonでzshのプラグインをインストールします。
sheldon add zsh-autosuggestions --github zsh-users/zsh-autosuggestions
sheldon add zsh-syntax-highlighting --github zsh-users/zsh-syntax-highlighting
sheldon add zsh-completions --github zsh-users/zsh-completions
ssh¶
sshクライアントはデフォルトで~/.sshを参照します。これを~/.config/sshに変更します。
mkdir -p ~/.config/ssh
chmod 700 ~/.config/ssh
ln -s ~/.config/ssh ~/.ssh
Antigravity¶
Antigravityのマーケットプレイス設定はデフォルトだとOpenVSXが設定されています。これをMicrosoftのマーケットプレイスに変更します。Preferences -> Antigravity Settingsを開きます。

以下のように設定変更します。
| 項目 | 値 |
|---|---|
| Marketplace Item URL | https://marketplace.visualstudio.com/items |
| Marketplace Gallery URL | https://marketplace.visualstudio.com/_apis/public/gallery |

設定ファイルでは以下のように設定されます。
{
"antigravity.marketplaceExtensionGalleryServiceURL": "https://marketplace.visualstudio.com/_apis/public/gallery",
"antigravity.marketplaceGalleryItemURL": "https://marketplace.visualstudio.com/items"
}
続けてプラグインをインストールします。初期状態でも幾つかのプラグインがインストールされていました。
% agy --list-extensions
[createInstance] extensionManagementService depends on antigravityAnalytics which is NOT registered.
devsense.composer-php-vscode
devsense.phptools-vscode
devsense.profiler-php-vscode
golang.go
llvm-vs-code-extensions.vscode-clangd
meta.pyrefly
ms-python.debugpy
ms-python.python
ms-python.vscode-python-envs
redhat.java
shopify.ruby-lsp
vscjava.vscode-gradle
vscjava.vscode-java-debug
vscjava.vscode-java-dependency
vscjava.vscode-java-pack
vscjava.vscode-java-test
vscjava.vscode-maven
以下をインストールします。
agy \
--install-extension 3w36zj6.textlint \
--install-extension 4ops.terraform \
--install-extension charliermarsh.ruff \
--install-extension csholmq.excel-to-markdown-table \
--install-extension davidanson.vscode-markdownlint \
--install-extension devsense.intelli-php-vscode \
--install-extension esbenp.prettier-vscode \
--install-extension johnnymorganz.stylua \
--install-extension ms-azuretools.vscode-containers \
--install-extension pkief.material-icon-theme \
--install-extension tamasfe.even-better-toml \
--install-extension tomoki1207.vscode-input-sequence
設定ファイルは以下のように設定しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | |
cmux¶
設定に記載されていますが、cmuxの設定ファイルは~/.config/ghostty/configです。まず、空のファイルを作成します。
mkdir -p ~/.config/ghostty
touch ~/.config/ghostty/config
設定ファイルにはフォントだけ、指定しました。
| ~/.config/ghostty/config | |
|---|---|
1 2 3 4 5 | |
タブを前後に移動するショートカットは押しやすいものが好みである為、以下のように変更します。
| アクション | ショートカットキー |
|---|---|
| 次のサーフェス | Ctrl+] |
| 前のサーフェス | Ctrl+[ |
| 次のワークスペース | Cmd+] |
| 前のワークスペース | Cmd+[ |
変更前¶

変更後¶

KeyCastrの設定¶
KeyCastrの設定を行います。

Terraform¶
Install Terraformに記載されている手順でインストールします。
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
OfficeとOneDrive for Business¶
Microsoft OfficeとOneDrive for Businessをインストールしておきます。