Skip to content

✍️ 필사 모드: 2026 macOS 開発者生産性スタック — Raycast・Karabiner・Hammerspoon・Homebrew・Ghostty 深掘りガイド

日本語
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.

プロローグ — Spotlight を切った日

2022 年あたり、私は Spotlight を切った。正確には cmd-space を Raycast に移し、二度と戻らなかった。それが始まりだった。

「生産性スタック」とは大袈裟な言い方だが、実態は単純だ。1 日に数百回押すキー、毎日開くウィンドウ、毎週触る設定ファイルを自動化・標準化するツール一式である。2026 年の macOS は、これがかつてないほど噛み合っている。Raycast は Spotlight を完全に置き換え、Ghostty は iTerm2 のシェアを急速に取り、AeroSpace は i3 ユーザーが macOS に来られなかった最後の言い訳を消した。Homebrew は brew bundle で新 Mac セットアップを宣言的にし、mise は asdf の正統な後継者となった。

本稿は「良いツール 10 選」の類のリストではない。各ツールがなぜその位置にあり、何を置き換え、どう噛み合うのか — 具体的設定とともに — を扱う。最後に「最小生産性スタック」を一行で残す。


1 章・ランチャー — Raycast が Spotlight を置き換えた

1.1 Spotlight ではなぜ足りないのか

Spotlight は検索ボックスである。Raycast は command palette である。この違いがすべてを決める。

「Slack を起動する」は Spotlight でも可能だが、「いま開いている Slack ウィンドウで #ops チャンネルを開く」はできない。「今日午前 2 時 14 分に保存した Figma ファイルを開く」「クリップボードを base64 エンコードして戻す」「Linear で昨日作ったチケットを表示する」 — すべて Spotlight ではできない。Raycast はすべて可能である。extension という単一モデルで。

1.2 2026 年の Raycast

2026 年 5 月時点で Raycast Store には 1,300 以上の extension がある。GitHub、Linear、Jira、Notion、Slack、VS Code、Docker、Figma、AWS、Vercel — ほぼすべての開発者ツールが first-class extension を持つ。その上に、二つの大きな変化が乗った。

第一に Raycast AI。2025 年後半、Raycast は OpenAI・Anthropic・Perplexity モデルを command palette に統合し、2026 年春に UI を刷新した。tab を二度押すと AI Chat が立ち上がり、「クリップボードの JSON を整形してクリップボードに戻す」のような自然言語命令を実行できる。Anthropic Claude・OpenAI GPT モデルは Pro プラン(8/月年払い)で、最新モデルはAdvancedAIaddon(+8/月 年払い)で、最新モデルは Advanced AI add-on(+8/月)で利用可能。

第二に MCP(Model Context Protocol)統合。Raycast AI Chat が MCP サーバーを自動ロードし、ローカルの file・git・shell MCP を Raycast の AI が直接呼び出せる。これが 2026 年の最大の変化である。

1.3 Alfred — 依然有効な選択肢

Alfred は死んでいない。むしろ安定性とライセンスモデル(Powerpack $42 一括、Raycast Pro は subscription)で強みを保つ。メモリは 30 ~ 50 MB、起動レイテンシは約 100 ms と、Raycast(80 ~ 120 MB、約 200 ms)より軽い。欠点は AI 統合がなく、extension の生態系が停滞している点。

私の見解は単純である。新規ならば Raycast。 Alfred で 7 年分の Workflow を蓄え、それが快適に回っているなら、移行する理由は薄い。

1.4 最初の 30 分の設定

Raycast を入れた後にまず行うこと。

  • Settings -> General -> Hotkeycmd-space に。Settings -> Keyboard -> Spotlight でシステム Spotlight のショートカットを外す。
  • Settings -> Extensions -> Window Management を有効化。キーバインドは空のまま — Rectangle/AeroSpace が衝突するため。
  • Settings -> AI -> Quick AI Hotkey は空のまま(後で Karabiner Hyper key 経由で割り当てる)。
  • 最初に入れる extension 5 つ: BrewGitHubVisual Studio CodeColor PickerQuicklinks

2 章・Karabiner-Elements — Caps Lock を Hyper key に

2.1 Hyper key とは何か

Hyper key とは、shift + control + option + command の 4 修飾キーを同時に押したかのように振る舞う仮想キーである。まともなアプリケーションは 4 修飾を同時に要求しないので、Hyper で始まるショートカットは「他と一切衝突しないグローバル名前空間」になる。

伝統的には、ほぼ使わない Caps Lock を Hyper にマップする。さらに定番の組み合わせは「単独で押して離すと Escape、押しながら他のキーを押すと Hyper」 — Vim ユーザーには大きな報酬。

2.2 Karabiner JSON スニペット

Karabiner-Elements の Complex Modifications スニペットはこうなる。

{
  "description": "Caps Lock -> Hyper (Escape on tap)",
  "manipulators": [
    {
      "type": "basic",
      "from": {
        "key_code": "caps_lock",
        "modifiers": { "optional": ["any"] }
      },
      "to": [
        {
          "key_code": "left_shift",
          "modifiers": ["left_control", "left_option", "left_command"]
        }
      ],
      "to_if_alone": [
        { "key_code": "escape" }
      ]
    }
  ]
}

これを ~/.config/karabiner/assets/complex_modifications/ に置けば、Karabiner Settings の Complex Modifications タブから 1 クリックで有効化できる。

2.3 Hyper に何を割り当てるか

私の推奨:

  • Hyper + T -> ターミナル(Ghostty)起動
  • Hyper + B -> ブラウザ
  • Hyper + S -> Slack
  • Hyper + R -> Raycast AI 即時呼び出し
  • Hyper + 1..9 -> AeroSpace ワークスペース 1..9 切り替え

Hyper マッピングを Karabiner JSON で直接書いてもよいが、より整理されたパターンは アプリ起動は Raycast Quicklinks/Hotkey で、システム動作は Hammerspoon で 委譲することである。Karabiner は「Caps Lock -> Hyper」の一行だけを担う。

2.4 Goku で JSON 地獄から脱出

Karabiner JSON はあっという間に肥大する。goku(Clojure で EDN を JSON にコンパイル)や karabiner.ts(TypeScript)に移すと、はるかに扱いやすくなる。2026 年時点で両者の人気は拮抗しているが、新規であれば EDN より TypeScript の方が学習曲線が緩い。


3 章・Hammerspoon — Lua で macOS をスクリプティング

3.1 Hammerspoon は何をするか

Hammerspoon は macOS のシステム API を Lua scripting engine に露出させる desktop automation tool である。ウィンドウ移動・キーフック・USB イベント・network state・battery — ほぼあらゆる macOS イベントが Lua 関数の引数として届く。

デフォルトでは何もしない。~/.hammerspoon/init.lua に自分の欲しい動作を直接書く。変更は即時反映(live reload)。

3.2 最初の init.lua

local hyper = {"ctrl", "alt", "cmd", "shift"}

-- Hyper + H / L: ウィンドウを画面の左半分・右半分にスナップ
hs.hotkey.bind(hyper, "H", function()
  local win = hs.window.focusedWindow()
  local f = win:screen():frame()
  win:setFrame({x = f.x, y = f.y, w = f.w / 2, h = f.h})
end)

hs.hotkey.bind(hyper, "L", function()
  local win = hs.window.focusedWindow()
  local f = win:screen():frame()
  win:setFrame({x = f.x + f.w / 2, y = f.y, w = f.w / 2, h = f.h})
end)

-- Hyper + F: 新しい Space を作らずに最大化
hs.hotkey.bind(hyper, "F", function()
  local win = hs.window.focusedWindow()
  win:setFrame(win:screen():frame())
end)

-- Hyper + R: 設定リロード
hs.hotkey.bind(hyper, "R", function()
  hs.reload()
  hs.alert.show("Hammerspoon reloaded")
end)

この 30 行で Rectangle の半分は置き換わる。残りの半分(drag-to-snap、1/3・2/3 分割)が欲しければ、Spoons の WindowGridMiroWindowsManager を重ねる。

3.3 さらに大きな話 — 環境認識

Hammerspoon の真の価値は window management ではなく、環境変化を trigger として受け取る ことだ。

  • 会議室モニターに HDMI が刺さる -> Slack 通知を切る、Do Not Disturb on
  • 特定の Wi-Fi に接続 -> VPN を自動起動
  • 09:00 に Calendar に会議がある -> Karabiner profile を「会議」に切り替え

それぞれ Lua 30 ~ 50 行で書ける。Hammerspoon は「system event を思考の単位にする」という意味で、Raycast/Karabiner とは別の layer にある。

3.4 Hammerspoon vs Karabiner — 役割分担

両者とも自動化ツールだが、layer が違う。

  • Karabiner は入力イベント自体を変換する。keyboard driver level の「Caps Lock キー -> Hyper modifier」。
  • Hammerspoon は変換済みイベント(または system event)を受けて Lua を実行する。application level の「Hyper-T が押されたら Ghostty を dev profile で開く」。

推奨ルール: Karabiner は key remap のみ。残りはすべて Hammerspoon。 こうしないと JSON が暴走する。


4 章・Homebrew と Brewfile — 30 分で新 Mac を作る

4.1 brew だけでは足りない

新 Mac を受け取って brew install を 50 回手で打つ人を見たことがある。その時間で Brewfile を一つ書けばよい。

brew bundle は Brewfile を読み、パッケージ状態を 宣言的に 合わせる。brew install が imperative なら、Brewfile は「このマシンはこの状態であるべき」と宣言する。2026 年現在、brew bundle は Homebrew formulae・Cask・Mac App Store・VS Code extension・Go package・Cargo package・uv tool・Flatpak・krew plugin までサポートする。1 つの Brewfile で polyglot 環境を記述できる。

4.2 Brewfile の例

# ~/.config/brew/Brewfile

# Taps
tap "homebrew/bundle"
tap "homebrew/cask-fonts"

# Core CLI tools
brew "git"
brew "gh"
brew "fish"
brew "starship"
brew "mise"
brew "ripgrep"
brew "fd"
brew "fzf"
brew "bat"
brew "eza"
brew "delta"
brew "jq"
brew "yq"
brew "direnv"
brew "lazygit"
brew "neovim"

# Dotfile management
brew "chezmoi"

# Container and cloud
brew "docker"
brew "kubectl"
brew "k9s"
brew "helm"

# Cask apps
cask "raycast"
cask "ghostty"
cask "karabiner-elements"
cask "hammerspoon"
cask "aerospace"
cask "1password"
cask "1password-cli"
cask "cleanshot"
cask "visual-studio-code"
cask "orbstack"
cask "font-jetbrains-mono-nerd-font"

# Mac App Store (`brew install mas` が必要)
brew "mas"
mas "Xcode", id: 497799835

# VS Code extensions
vscode "ms-python.python"
vscode "rust-lang.rust-analyzer"

新 Mac で:

xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew bundle --file=~/.config/brew/Brewfile

これを chezmoi に入れておけば、新 Mac セットアップは 3 コマンド で終わる。

4.3 brew bundle dump の罠

brew bundle dump は現在インストール済みのものをすべて Brewfile に dump する。便利だが危険。一回使って忘れたツールが pin されてしまう。Brewfile は手で管理せよ。 dump は最初のマイグレーション時に一度だけ使い、以後は手編集。

4.4 brew vs Mac App Store

私の rule of thumb:

  • コード署名・Apple ID 紐付けが必要なアプリ(iWork、sandbox 必須アプリ): Mac App Store。
  • 頻繁な update が重要な開発ツール: brew cask。
  • 両方可能なら brew cask。automation friendly。

5 章・ターミナル戦争 2026 — iTerm2・Ghostty・WezTerm・Warp

5.1 風景の整理

長らく macOS terminal は iTerm2 の一強だった。2024 ~ 2025 年に風景が変わった。Mitchell Hashimoto(Vagrant・Terraform・Consul の創始者)が Ghostty を公開し、2026 年 3 月の Ghostty 1.3 が scrollback search と native scrollbar を加えたタイミングで、iTerm2 ユーザーが大量に移動した。

Terminal入力レイテンシ出力スループット内蔵 multiplexerAI 統合設定価格
Ghostty 1.32 ms非常に高いあり(tab/split)なし単一 ZON ファイル無料/OSS
iTerm212 ms普通あり(trigger 豊富)一部GUI 主導無料
WezTerm3 ms高いあり(強力)なし単一 Lua ファイル無料/OSS
Warp8 ms普通一部深いクラウド同期Free/Team
Alacritty3 ms非常に高いなしなしYAML無料/OSS

(レイテンシは 2026 年 benchmark report の中央値。環境により異なる。)

5.2 Ghostty — 2026 年のデフォルト

推奨は単純。新規ならば Ghostty。 理由:

  • macOS native build で、システムフォントレンダリングや event handling と相性がよい。
  • key-to-screen latency が最小。
  • 設定は単一 ~/.config/ghostty/config ファイル、テキストベース、dotfile にそのまま入る。
  • modern terminal protocol(ANSI・OSC・Sixel)の採用が速い。

設定例:

# ~/.config/ghostty/config
font-family = JetBrainsMono Nerd Font
font-size = 14
theme = catppuccin-mocha
window-padding-x = 12
window-padding-y = 12
macos-titlebar-style = tabs
window-decoration = false
cursor-style = bar
shell-integration = fish

5.3 iTerm2 — 離れがたい巨人

iTerm2 の強みは健在である。Trigger、profile 分岐、shell integration、AppleScript 自動化 — 13 年分の機能が積み上がっている。すでに数十の trigger rule を仕込んであるなら、iTerm2 に残るのは合理的。新規であれば、わざわざ行く理由はない。

5.4 WezTerm vs Warp — 両極端

  • WezTerm は cross-platform 一貫性と Lua 設定の表現力が強み。macOS・Linux・Windows を往復しながら同じ設定を使いたい、内蔵 multiplexer で tmux を置き換えたいなら、こちら。
  • Warp は AI を terminal 自体に埋め込んだ製品。2026 年のユーザー報告では、command 失敗の約 80% で正確な診断・修正提案を返す。欠点は cloud 依存と価格($15/月/seat、Pro 以上)。会社カードで払え、自然言語で shell を扱うのが楽なら価値がある。

5.5 推奨

  • 単独開発者、shell-heavy: Ghostty。
  • cross-platform、Lua 信者: WezTerm。
  • 初心者から中級者で AI 依存が大きい: Warp。
  • trigger に家を建てた iTerm2 ベテラン: iTerm2 を維持。

6 章・ウィンドウ管理 — Rectangle、または AeroSpace

6.1 Rectangle — 保守的な選択

Rectangle は無料・OSS・App Store 外でダウンロード。半分・1/4・1/6・カスタムサイズをショートカットで snap する。Magnet との違いは価格(無料)と多モニター対応(Rectangle が優位)。2026 年現在、macOS の window manager として最初に勧めるのは依然 Rectangle である。

6.2 AeroSpace — i3 を懐かしむ人へ

AeroSpace は i3/Sway スタイルの tiling window manager である。ウィンドウを自動 tiling し、キーボードで focus 移動・resize・workspace 切替を行う。決定的に SIP(System Integrity Protection)の解除が不要 — これが yabai との大きな違いである。そのため macOS update に強い。

設定は単一 ~/.aerospace.toml

# ~/.aerospace.toml (抜粋)
start-at-login = true
default-root-container-layout = 'tiles'

[mode.main.binding]
alt-h = 'focus left'
alt-j = 'focus down'
alt-k = 'focus up'
alt-l = 'focus right'

alt-shift-h = 'move left'
alt-shift-j = 'move down'
alt-shift-k = 'move up'
alt-shift-l = 'move right'

alt-1 = 'workspace 1'
alt-2 = 'workspace 2'
alt-3 = 'workspace 3'

alt-shift-1 = 'move-node-to-workspace 1'
alt-shift-2 = 'move-node-to-workspace 2'

alt-slash = 'layout tiles horizontal vertical'
alt-comma = 'layout accordion horizontal vertical'

利点は明確。マウスをほぼ使わない、workspace 切替が即座(animation なしモード)、多モニターでも一貫。

欠点もある。macOS UI(特に Mission Control・Spotlight)と一部衝突し、1.0 到達前なので breaking change がときどき入る。それでも daily driver として十分使える。

6.3 どちらを選ぶか

  • macOS native workflow を維持したい: Rectangle。
  • キーボード中心、i3 風の多 workspace: AeroSpace。
  • yabai は SIP 解除が必要で、macOS update でしばしば壊れる。2026 年には推奨しない。

7 章・パスワードと secret — 1Password CLI vs Bitwarden CLI

7.1 どちらも良い、決定軸が違うだけ

  • 1Password: subscription。CLI(op)、Connect Server、Shell Plugins(AWS CLI・gh・Docker・Stripe など 100+ ツールを透過的に介する統合)、内蔵 SSH agent。developer workflow で最も滑らか。
  • Bitwarden: OSS、self-hostable。CLI に加え Bitwarden Secrets Manager(GitHub Actions・GitLab・Kubernetes 統合)。価格面でずっと有利。

7.2 1Password 推奨パターン

# .env に op:// reference を置き、実行時に注入
# .env
DATABASE_URL="op://Engineering/postgres-prod/connection-string"
AWS_ACCESS_KEY_ID="op://Engineering/aws-prod/access-key-id"

# 実行
op run --env-file=.env -- npm run dev

SSH key も 1Password vault に入れ、内蔵 SSH agent で公開する。平文 ~/.ssh/id_* ファイルが消える。

7.3 Bitwarden パターン

# 一度ログインして session token を取得
export BW_SESSION="$(bw unlock --raw)"

# secret を取り出す
bw get password "AWS Production"

CI では Bitwarden Secrets Manager SDK(Go・Python・JS)を使う。

7.4 決定

  • 単独開発者、SSH-heavy: 1Password。
  • 20 人 engineering team、コスト重視: Bitwarden + Secrets Manager。
  • いずれにせよ、平文 secret を dotfile に埋め込む習慣だけは捨てる。

8 章・ランタイムバージョン管理 — mise が asdf を置き換えた理由

8.1 mise — Rust で書き直された asdf

mise(旧 rtx)は 2022 年に Jeff Dickey が始めたツール。asdf の .tool-versions ファイルをそのまま読み、asdf plugin と互換。さらに以下を追加。

  • 性能: asdf は shim 方式で runtime 呼び出しごとに約 120 ms のオーバーヘッド。mise は shell prompt ロード時に約 5 ms。毎回の呼び出しが速い。
  • 複数 backend: asdf plugin に加え、core(Node・Python・Go など内蔵実装)・cargo・npm・pipx・ubi・aqua を直接サポート。
  • envtasks: direnv と Make の一部を置き換える。

8.2 使い方

# global default
mise use --global node@22 python@3.13 go@1.23

# project 単位 (.mise.toml または .tool-versions)
cd ~/code/myapp
mise use node@20.18 python@3.12

# tasks
mise tasks add dev -- npm run dev
mise run dev

~/.config/mise/config.toml に環境変数、global tool、license などを宣言する。

8.3 asdf から mise へ

mise import 一発で asdf 設定をそのまま持ってこられる。shim が消え、shell call latency が目に見えて下がる。新規ならば mise。大きな team で asdf がすでに快適に回っているなら、強制移行の必要はない。


9 章・Dotfiles 戦略 — chezmoi vs stow vs bare git

9.1 3 つのアプローチ

  1. bare git repo: git --git-dir=$HOME/.dotfiles --work-tree=$HOME を alias 化し、$HOME 全体を tracking。依存ゼロ、最小主義。欠点は誤って secret を push しがち。
  2. GNU stow: symlink manager。~/dotfiles/zsh/.zshrcstow zsh~/.zshrc に link。シンプル・UNIX 親和。欠点は machine 分岐・secret 処理がない。
  3. chezmoi: Go template で OS 分岐、secret 暗号化、onchange script(自動再実行)。最も強力、ただし学習曲線あり。

9.2 2026 年の推奨 — chezmoi

3 つから 1 つだけ選ぶなら chezmoi。理由:

  • 単一コマンド(chezmoi init https://github.com/<user>/dotfiles)で新 machine に適用。
  • .chezmoi.toml.tmplchezmoi.os == "darwin" のような条件分岐により macOS/Linux を 1 つの tree で管理。
  • secret は 1Password・Bitwarden・Keychain・age 経由で自動復号。平文 push を構造的に防ぐ。
  • run_onchange_ prefix の script は変更時のみ再実行 — Brewfile 変更時に brew bundle を自動呼び出しするのに最適。

9.3 chezmoi スケルトン

chezmoi init --apply git@github.com:youruser/dotfiles.git

リポジトリ構造:

~/.local/share/chezmoi/
├── .chezmoi.toml.tmpl
├── dot_zshrc.tmpl
├── dot_gitconfig.tmpl
├── private_dot_ssh/
│   └── config
├── run_onchange_install-packages.sh.tmpl
└── README.md

dot_zshrc.tmpl の中身:

export EDITOR=nvim
{{ if eq .chezmoi.os "darwin" -}}
eval "$(/opt/homebrew/bin/brew shellenv)"
{{ end -}}

9.4 stow を勧めない理由

stow は良い。machine が 1 台だけならよく回る。しかし machine が 2 台以上、もしくは secret が混ざった瞬間、自分で分岐ロジックを書き始める。そのタイミングで chezmoi に移るのが自然である。


10 章・スクリーンショットと screencast — CleanShot X・Kap・Loom

10.1 CleanShot X — 2026 年のデフォルト

cmd-shift-4 の上に被せる。差別化点:

  • デスクトップアイコンの自動非表示
  • annotation・blur・step counter 内蔵
  • 「All-in-One」モード: スクリーンショット・GIF・動画・スクロールキャプチャを一つの hotkey で
  • クラウド(cleanshot.cloud)自動アップロードオプション

価格は一括ライセンス(または Setapp 含み)。一度買えば永久 update。会社カードで通しやすい価格である。

10.2 Kap — OSS 代替

Kap は macOS 専用の OSS screen recorder。MP4・WebM・GIF をきれいに出力する。機能は CleanShot より少ないが、無料で高速。シンプルな GIF だけなら Kap で十分。

10.3 Loom — 非同期動画コミュニケーション

Loom は「録画して link 共有」一つに最適化された製品。PR コメント・design review・非同期 standup に強い。CleanShot のクラウドモードと機能的に重なるが、Loom は視聴トラッキング・リアクションまで束ねている。

私の使い分け:

  • 日常スクリーンショット: CleanShot X。
  • すばやい GIF: Kap。
  • 同僚への非同期動画: Loom。

11 章・すべてを繋ぐ一行 — Hyper key map の全体像

ここでツール群がどう噛み合うかを 1 枚の図にする。

Caps Lock (Karabiner) ──► Hyper (ctrl+alt+cmd+shift)
                          ├─ T ─► Hammerspoon ─► Ghostty 起動
                          ├─ B ─► Hammerspoon ─► ブラウザ
                          ├─ S ─► Hammerspoon ─► Slack
                          ├─ R ─► Raycast AI 即時呼び出し
                          ├─ 1..9 ─► AeroSpace workspace 切替
                          ├─ H/J/K/L ─► Hammerspoon ─► 半分ウィンドウ snap
                          └─ Space ─► Raycast command palette (前述で割り当て)

この 1 枚の図に本稿の中核が詰まっている。Karabiner は key を変えるだけ、Hammerspoon は system action だけ、Raycast は command palette だけ、AeroSpace は window だけを担う。 各ツールが 1 つのことを上手くやる。


12 章・最小生産性スタック — 一行で削る

今日から始める人のための minimum viable productivity stack

1. Raycast              (Spotlight 置き換え)
2. Karabiner-Elements   (Caps Lock -> Hyper)
3. Ghostty              (terminal)
4. Homebrew + Brewfile  (宣言的インストール)
5. mise                 (runtime version)
6. 1Password または Bitwarden (secret)
7. chezmoi              (dotfiles)
8. Rectangle または AeroSpace (window management)
9. CleanShot X          (スクリーンショット)

追加するタイミングは自分の workflow に穴が見えたとき。最初から 9 つすべて入れる必要はない。1・2・3・4 だけで 1 週間あれば体感が変わる。


エピローグ — ツールはツールに過ぎない

生産性スタックを組むときの最大の誤りは、ツール自体を目的にすること である。毎日 dotfiles リポジトリを磨きながら 1 日を過ごし、Karabiner JSON を 100 行書き、肝心のコードを書かない。それは hobby であって、仕事ではない。

ツールは 1 日に 30 回押すキー、100 回開くウィンドウ、10 回同じコマンドを打つその場所にだけ 入る。測定可能な摩擦を消すことにのみ時間を使い、それ以外は default のままにしておく。

本稿のツール群は、私がこの原則で 4 年磨いたものである。今でも毎年 1 ~ 2 つは入れ替わる。2024 年は iTerm2 -> Ghostty、2025 年は asdf -> mise、2025 年後半は yabai -> AeroSpace。2026 年後半にも何かが変わるはず。その変化に素早く適応することこそ、本当の生産性である。

30 日適用チェックリスト

  • 1 日目: Raycast を入れ、cmd-space を移す。Spotlight ショートカットを外す。
  • 2 日目: Karabiner-Elements を入れ、Caps Lock を Hyper にマップ。単独タップで Escape。
  • 3 日目: 初版の Brewfile を書く。brew bundle を一度走らせる。
  • 4 日目: Ghostty に乗り換え。設定ファイルを dotfiles に入れる。
  • 7 日目: mise で runtime version を統一。asdf があれば mise import
  • 14 日目: dotfiles を chezmoi に移行。secret は 1Password/Bitwarden backend へ。
  • 21 日目: Hammerspoon init.lua に自分用ショートカット 5 ~ 10 個。
  • 30 日目: AeroSpace または Rectangle で window management を標準化。

アンチパターン

  • 毎日 Karabiner JSON を手編集する -> goku/TS compiler に移す。
  • Brewfile なしで brew install を打つ -> 次の新 Mac で後悔する。
  • 平文 .env を git に入れる -> 1Password/Bitwarden reference パターンへ。
  • 1 度に 9 個すべて入れる -> 1・2・3・4 から 1 週間ずつ。
  • yabai を新規に入れる -> 2026 年は AeroSpace から始める。

次回予告

次回は このツール群を team の標準にする方法 — 社内 Brewfile・chezmoi template・Raycast extension 配布・onboarding 自動化 — を扱う。1 人の workflow と team の workflow は粒度が違う。30 人の engineering team が全員同じ dotfiles base から始めるとき、新メンバーの初週がどう変わるかを見る。


参考 / References

현재 단락 (1/312)

2022 年あたり、私は Spotlight を切った。正確には `cmd-space` を Raycast に移し、二度と戻らなかった。それが始まりだった。

작성 글자: 0원문 글자: 15,814작성 단락: 0/312