開発環境2026 - 2025年におきた変化と現在とこれから
AIにあまり頼らず書いていく
開発マシン
もともと自作PCにLinuxをいれたものを開発マシンとしていたが、5年ほど経過しており、Rustで物を作っていると古いCPUではコンパイル時間に不満しかなかったので新調した(ずっと知らなかったがベンチではi7-9700はM1に負けていたらしい)。ただ、パーツは2023年の年末に買っていたがやる気が起きず1年以上放置。フラストレーションを抱えたまま開発していたが、ようやく重い腰をあげて新しいPCを組んだ。
| パーツ | Before | After |
|---|---|---|
| CPU | i7-9700 | i5-13500 |
| CPUファン | 虎徹(空冷) | ARCTIC Liquid Freezer 3 240(水冷) |
| メモリ | DDR4-2666 64GB | DDR4-3200 64GB |
| GPU | RTX 2060 Super | RTX 4060 Ti |
GPUはVRAM 16GBなのでなんとかLocal LLMも動かせられる。
OS: Arch Linux → NixOS
2025年に開発マシンを5年ぶりに新しくした。Arch LinuxのローリングアップデートによってNVIDIA driverが非推奨になったりしてマシンを再起動すると画面が立ち上がらなくて、そのたびに原因調査を含めて解決に半日使うという事が2度ほどあったことと、インストール後に一度しか使わないコマンドやツールがどんどん溜まっていくのもいやだったのでNixOSに変更。
エディタ: Neovim → Zed
NixOS移行に二の足を踏んでいた要因の一つが、Neovimのdotfile(Lua)の移行がめんどくさいというものだった。LuaをNixで書くのかLuaファイルにするのかベストプラクティスもわからなかった。
だが、そもそもNeovimを使っていたのは人間が手で効率的にコードをかけるようにするためで、コーディングはAIに任せていくようになることはわかっている状況では、今後はVimにこだわらず新たなエディタに移行する、という決断をした。
Helixなども魅力的だったがTerminalの盆栽や機能のキャッチアップに時間を使うことにもう魅力を感じなくなっていた(AIのせいで、こういったところでの人との差別化が非生産的に感じてしまうのが寂しい)
合理的な人間ならばCursorを使うのだろうがVSCodeアンチで、かつずっと逆張り人生を歩んできた自分はZedを選択した。動作がより軽量でVimバインディングが素晴らしい。VimをやめてもVimバインディングでないと文字は書けない。これでHopやEasyMotionの機能があれば完璧だがExtensionの仕様がまだ対応していないようだ(本体へのPRが過去に作成されたがRejectされた模様)。
Neovimのdotfileはもう使わないだろうが https://github.com/tacogips/dotfile_nvim に眠らせておく。
Coding Agent: Claude (vim plugin) → Claude Code
2025年2月くらいからちゃんとCoding Agentを使い出したように思う。luaとrustでClaude neovim pluginを自作してエディタ上で会話/コピペしていただけだった。
Claude Codeが落ちているときにCodexなども使ってみたが、指示の意図をうまく汲み取れるのはClaude Codeであると感じる。0→1で書く場合はどっちでもいいが、すでにある大きめのコードベースで作業する場合はClaude Codeのほうが安心感がある。モデルの差はそこまで顕著ではなく、今後は開発ワークフローをうまく整備するかが重要だと思うので正直なんでもよくなるとは思う。
モニタ: Dell 27inch 2台 → 3台
ターミナルとSlackとブラウザとZedを立ち上げているとモニタ2台だと足りなくなったので1台追加。
ターミナル/マルチプレクサ: WezTerm/Zellij → Alacritty
過去に出先でSurface(Arch Linux)から自宅マシンにSSHして開発していたがWezTermでないとこれがうまくできなかった。最近はほぼ家にいるのでこれをやる必要がなくなった。ZedのTerminalがAlacrittyベースなのでそれに合わせてメインターミナルもAlacrittyに変更。ZedにしたのでZellijもさよなら。
シェル: Zsh → Fish
ZshはもっさりしていたのでFishに変更した。補完が便利。
キーボード
変わらずErgoDash(親指キーあり)。遊舎工房の在庫が少なめらしいので、今年は自分用の自作キーボード設計して組み上げたい(Zigでファームウェア書く、予定)。
言語管理
変わらずnix flake + direnv。AIにめんどくさいflake.nixを書かせられるのでflakeを使わない理由がなくなった。ただストレージ容量は結構くう。
その他ツール
変わったり変わらなかったり。lazygit, lazydocker, yazi, Hyprland。
これからの予定
開発マシン: LinuxやめてApple製品にしていく予定
もともと2018年頃まで個人でも会社でもMacを使っていたが、ベンダーロックインが嫌だったのと、王様達のヴァイキングという漫画を読んだのがきっかけでLinuxをメイン開発マシンにした(以降はフリーランスなのでほぼBYOD。最初は漫画に出てくるThinkPadではなくDell XPSを使っていた)。Windowsマシンや自作PCでは低価格で良いスペックのマシンが手に入るのが魅力だが、最近はPC価格の高騰で納得できる値段のものが無い。
またロックインが嫌だといいながらもほとんどNixで用意されているパッケージしか使っておらず、自分でバイナリをビルドすることも最近はほとんど無い。macでもnix-darwinが使えるので依存管理は大差ない。今後の開発はAIに渡すコンテキストの管理とワークフロー管理が主な作業になるので、nix flakeさえ使えれば環境へのこだわりはあまり必要ない。
Appleに全部握られるのは癪だし、彼らのメモリ、ストレージのアップセル度合いはぼったくりだが、MacはLinuxマシンと比べ流動性と人気が高く、買い替えのときに中古で売れば実質のコストはLinuxマシンを手に入れるのと同程度に抑えられるので実はコスパが悪くない。また、近年のM1から始まるCPU周りのブレークスルーなど、ハード関連で大きな進歩をもたらしている企業はなかなか無いようにも思えてきたため。
Coding Agent: Claude,Codexなどマルチに
特定のツールに縛られずに横断的に使用したい。というかワークフローエンジンを自作したい。 コーディング作業の殆どがファイル確認&自然言語書くだけなので、PCの前に座っている必要がないし、IDEベースでもターミナルでもある必要もない。
プログラマの仕事は問題の発見と解決のためのプロダクトの構想、先々の機能の成長/素早く安全なデプロイのための設計と土台作り、開発スケジュールのマネージメントが主な仕事になる(つまりFDE?)と思うのでコーディング以外にもAgentをフル活用していく必要がある。
Discussion