新しいMacの環境構築

公開日

開発マシンが新しくなったので個人的な覚書としてメモする。凝った設定はしない方です。可能な限り最新バージョンのみ使える状態が良いので、nodeやpython、javaといった管理せざるを得ないプログラム言語は管理系のアプリケーションを使うもののその他はbrewなどで入れます。

パッケージ管理

  • brew
  • mise
  • sdkman
  • uv

バージョン管理しないものはbrewで入れられるものはbrewで入れる。sdkmanはjava関連のものに利用する。uvはpython。それ以外はmiseで入れる(例えばnode)。

javaもmiseで良い気はするがjavaに明るい人がsdkman推しだったのでそうしている。思想としてコマンドがわかりやすく不具合が起きにくければ割となんでも良い。元々asdfを使っていたが今はmise。

pythonは去年までryeだったが今はuv。pythonは環境のセットアップに難があると思っていたがuvのおかげでストレスフリー。簡単なスクリプトは全部notebookで作る勢いでpythonを使っている。

terminal

terminalのリッチな機能を使う方ではないのでなんでも良いところはあるものの、Ghosttyは起動が早く、分割、タブ、日本語表示機能があり、シュッと出せる一時的なterminal機能のtoggle_quick_terminalがあり気に入っている。

terminalはiterm2 -> wezTerm -> tmux -> Ghosttyという遷移。気分次第で乗り換えるが今のところ不満はない。configはこんな感じでほぼデフォルト。

font-size = 16
keybind = global:cmd+shift+space=toggle_quick_terminal
font-feature = -dlig

docker、kubernates関連

Docker

  • rancher desktop

kubernetes clusterはrancher desktopを利用せず別途k3dを使う。rancher desktopでenable kubernetesするよりk3dの方がわたしの環境だと問題が起きることが多かったため。

kubernetes

  • k3d

ローカルcluster作成用。minikubeでもkindでも良いが一番軽量で気軽にcluster deleteしやすく環境が壊れにくかったのでk3dに落ち着いた。

  • kubectl
  • kubectx
  • kube-ps1
  • stern

過去バージョンを使わないのでこれら基本的なツールはbrewで入れる。kubectlコマンドがrancher desktopのものになっていないかを注意する

  • skaffold 古いyaml動かしたい時があるのでバージョン管理のためmiseで入れる

エディタ

  • vscode
  • cursor
  • intelliJ IDEA Ultimate

個人的にcursorはまだしっくりきておらず練習中(気を抜くとvscodeみたいに使ってしまうのでcursorとは?となる状態)。intelliJは主にkotlinで利用している。個人でもAll Productsを契約していたので昨年はエディタをJetBrains系に寄せようとしていたが、claude codeの影響もあり今はほぼvscode。

今のところ開発体験的に好みなのはvscode + Copilot + Claude Code。仕事だとcursorになるのかなという感覚です。まあここは体験が良ければなんでも良いのでどんどん変えていく前提です。例えば、claude codeの定額がなくなれば個人でclaude code使うことは多分なくなりますし、料金見ながらになります。

仕事だと組織で何を使うかで変わりますしね

git

  • gh

追加で入れるのはghコマンド。

メモ中…