見出し画像

MacBook Air M5 13inch のセットアップ

新しく MacBook Air M5 13inch を購入しました。うれしい、たのしい🥰
スペックはこんな感じ。これで244,800円なら、リーズナブルだと感じます。

  • Apple M5 チップ

  • 10コアCPU / 10コアGPU (GPU はデフォルトの8コアを10コアに変更)

  • メモリ 32GB (載せられるだけ載せた)

  • SSD 512GB  

そんなわけで、開発環境やツールを Claude とおしゃべりしながらセットアップしました。自分の備忘録として、インストールしたものと設定内容をまとめます。


まずはHomebrew

何はともあれ Homebrew。すべてのはじまり。

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

パスを通すのも忘れずに。

echo 'eval "$(/opt/homebrew/bin/brew shellenv zsh)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv zsh)"

ターミナル: Ghostty

ターミナルは最近話題の Ghostty を選びました。Zig 製の高速 GPU ベースターミナルエミュレータとのことです。よくわかってないけど。

brew install --cask ghostty

テーマは Dracula にしました。
フォントは JetBrains Mono Nerd Font を合わせています。

brew install --cask font-jetbrains-mono-nerd-font

いまのところ他の設定してないので、めっちゃシンプル。ちょっとずつ育てていきたい。

theme = Dracula
font-family = JetBrainsMono Nerd Font

シェルまわり: Starship + Oh My Zsh + Dracula

プロンプトには Starship を導入。Rust 製でさくさく動きます。

brew install starship
echo 'eval "$(starship init zsh)"' >> ~/.zshrc

プリセットは pastel-powerline を適用しました。

starship preset pastel-powerline -o ~/.config/starship.toml

Oh My Zsh はちょっと重いけど、ずっと使っててやっぱり便利なのでインストール。Oh My Zsh の git プラグインが手放せなくて。テーマは Dracula で統一。

curl -o ~/.oh-my-zsh/themes/dracula.zsh-theme \
  https://raw.githubusercontent.com/dracula/zsh/master/dracula.zsh-theme

mkdir -p ~/.oh-my-zsh/themes/lib
curl -o ~/.oh-my-zsh/themes/lib/async.zsh \
  https://raw.githubusercontent.com/mafredri/zsh-async/main/async.zsh

こんな感じに仕上がりました。かわいい。

Ghostty + Starship + Oh My Zsh

ランタイム管理: mise

開発言語のバージョン管理には mise を使ってみます。asdf 互換でありつつ、Rust 製で高速なのがポイントみたい。

brew install mise

とりあえず Go をインストールしました。

mise use --global go@latest

Node.jsのLTSを入れました。後述する AI CLI ツール群に必要です。

mise use --global node@lts

ランチャー: Raycast

Spotlight の代わりに Raycast を導入。

brew install --cask raycast

Extensions の Window Management が便利で、以下のショートカットを設定しました。ウィンドウを左半分のサイズにしたり、右半分のサイズにするショートカットです。

  • Left Half に ⌃⌥←

  • Right Half ⌃⌥→

自作のスクリプトコマンドも追加していて、ChatGPT / Claude / Gemini にプロンプトをまとめて投げるスクリプトを作りました。

#!/bin/bash

# @raycast.schemaVersion 1
# @raycast.title Ask All AIs
# @raycast.description ChatGPT, Claude, Geminiにプロンプトをまとめて送信
# @raycast.mode silent
# @raycast.argument1 { "type": "text", "placeholder": "プロンプトを入力" }

PROMPT="$1"
ENCODED=$(python3 -c "import urllib.parse, sys; print(urllib.parse.quote(sys.argv[1]))" "$PROMPT")

open -a "Google Chrome" "https://chatgpt.com/?q=$ENCODED"
open -a "Google Chrome" "https://claude.ai/new?q=$ENCODED"
open -a "Google Chrome" "https://gemini.google.com/app?q=$ENCODED"

ただ Gemini はクエリストリングに対応していなかったので、この Chrome Extention をインストールしました。

同じ質問を3つの AI に同時に聞けるけど、使い続けるかわかりません。

キーリマップ: Karabiner-Elements

キーリマップには定番の Karabiner-Elements

brew install --cask karabiner-elements

キーボードは Cornix を使っています。こちらは Vial でキーマップを変更しているのですが、デフォルトのUS配列のキーマップを変更します。

Cornix

タップダンス (短く押すときと長く押すときで違う機能を割り当てる) みたいな感じで、左 Cmd タップで英語入力、右 Cmd タップで日本語入力に変更できるようにします。

Karabiner-Elements の設定で Complex Modifications から Add predefined rule を選び、Import more rules from the internet をクリックします。するとこれがブラウザで表示されます。

検索ボックスで japanese と入れると「英かな/⌘ for Japanese」という設定が見つかるのでこれを Import して利用させてもらいます。

複数の設定があるのですが、「[ US ]左右のコマンドキー(⌘)を、単独で押したときは 英数・かな キー として扱う(左⌘は 英数、右⌘は かな)」という設定を Enable にしました。

ただこのままだと、Cornix を使っているときも設定が有効になっているので、Build in Keyboard のみでこの設定が有効になるように修正しました。2箇所でてくる conditions のところですね。

{
    "description": "Cmd En/Ja",
    "manipulators": [
        {
            "conditions": [
                {
                    "identifiers": [{ "is_built_in_keyboard": true }],
                    "type": "device_if"
                }
            ],
            "description": " LEFT COMMAND → EISUU ",
            "from": {
                "key_code": "left_command",
                "modifiers": { "optional": ["any"] }
            },
            "to": [{ "key_code": "left_command" }],
            "to_if_alone": [{ "key_code": "japanese_eisuu" }],
            "type": "basic"
        },
        {
            "conditions": [
                {
                    "identifiers": [{ "is_built_in_keyboard": true }],
                    "type": "device_if"
                }
            ],
            "description": " RIGHT COMMAND → KANA ",
            "from": {
                "key_code": "right_command",
                "modifiers": { "optional": ["any"] }
            },
            "to": [{ "key_code": "right_command" }],
            "to_if_alone": [{ "key_code": "japanese_kana" }],
            "type": "basic"
        }
    ]
}

ついでに Windows みたいに Cmd + L でスクリーンロックできるようにしました。Chrome では Cmd + L はアドレスバーにフォーカスするショート勝手で、こちらは使いたいので、Chrome は除外しました。これも conditions で設定できます。

{
    "description": "Cmd+L to Lock Screen (Ctrl+Cmd+Q) except Chrome",
    "manipulators": [
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.google\\.Chrome$"
                    ],
                    "type": "frontmost_application_unless"
                }
            ],
            "from": {
                "key_code": "l",
                "modifiers": {
                    "mandatory": ["command"],
                    "optional": ["any"]
                }
            },
            "to": [
                {
                    "key_code": "q",
                    "modifiers": ["control", "command"]
                }
            ],
            "type": "basic"
        }
    ]
}

エディタ: Visual Studio Code

メインエディタは VS Code です。徐々に設定してきます。

brew install --cask visual-studio-code

AIコーディング: Claude Code / Codex / Gemini CLI

ターミナルから AI を使える CLI ツールを 3 つとも入れました。いろいろ試していきたいです。でも AI への課金が辛いです。

Claude Code

curl -fsSL https://claude.ai/install.sh | bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc

OpenAI Codex

npm install -g @openai/codex

Gemini CLI

npm install -g @google/gemini-cli

ノート: Obsidian

あんまり使いこなせていないのですが、Obsidian をノートとして使っています。Markdown ベースでローカルファイル管理できるのが好きです。

brew install --cask obsidian

バッテリー管理: AlDente

バッテリーの充電上限を管理する AlDente をインストールしてみました。長期的にバッテリーを健康に保つために入れています。

brew install --cask aldente

最終的な brew list / npm list

==> Formulae
mise            starship        usage

==> Casks
aldente                         font-jetbrains-mono-nerd-font   ghostty
karabiner-elements              obsidian                        raycast
visual-studio-code

npmグローバルにはAI CLIツールが並びます。

@google/gemini-cli
@openai/codex

まとめ

新しい Mac のセットアップは楽しいですね。比較的モダンな感じにできた気がするのですが、おすすめのツールや設定があればぜひ教えてください。

今回のマシン選定は、物理的に軽さを重視して MacBook Pro ではなく Air にしました。Pro は高いしね。Neo はかわいくていいんだけど、さすがにもうちょっとパワーが欲しくて。

MacBook Air M5 で意外だったのは、なんだかスピーカーの音がいいこと。まあ普段 Echo Dot で音楽聞いてたから、そう感じるのかもしれないけど、気持ちよく音楽聞けてうれしいです。

次は Local LLM と OpenClaw を試してみたいなと思ってます。

いいなと思ったら応援しよう!

sadah よろしければ応援お願いします! いただいたチップはなにかおいしいものに使わせていただきます!