初期からの知らねえ単語のリスナーなんですが、誰かとこんな感じのポットキャストやりたいなと思い始めてきました。
fujitani soraです。

交換ブログ今cycleのテーマが開発環境現状確認 2026なので書きます。

前回の二人の

(最近字を追うのがしんどいときは新書とか中高生向けの本を読んでいるけどそれでもすくない)

これがえらすぎる、僕は気分が乗らないと心が折れる

VSCodeを使ってるのは単純に使いやすさですね。Vimに憧れはあり慣れたい気持ちはありつつ、普段遣いがVSCodeなので結局これ使ってます。

topiさんにはいまVimを指導しているのでもうすぐ変わることでしょう。

あれ?もずますさんは?

もずますさんは僕と同じで怠惰なので次からです。
このテーマは好きそうなのでしゅぱぱぱっと書いてくれることでしょう

OS, 開発環境

仕事用も個人用もMacOSを使っている。
PCゲームをあまりしないのでWindowsとかの必要はなくて、OSのカスタムなどはあまりしていない。

Package Managerはデスクトップ系はまだHomebrewを使っていて、CLIや新しく入れるものはNix home-managerに管理を移している。

開発環境は、仕事はDocker Container化していて、自分のOSSではNixで管理している。

shell nameやutilsなどの共通設定はshared-flake-nix repositoryにまとめて、個別のflake.nixが依存するようにしている。

maintainerでないOSSを開発する際も、localにflake.nixを用意して環境構築している。

最近はHonoとかPrettierなのでJS/TS runtimeさえ入れれば簡単に動かせる。

Editor

高校生の頃にVimを使い始めてから今でも同じで、Neovimを使っている。

一時期はJetBrains系も使っていたが、Agentを中心に据えた開発環境を整えるためにterminalから使えるNeovimに統一した。

主題ではないので軽くだけ触れておくと、PluginManegerはLazy.nvim、filerとかfuzzy finderとかは基本的にSnacks.nvimとmini.nvimがメンテナンスしているツールに寄せていっている。

v0.11から導入された組み込みのLSP管理の仕組みを使っていて、新しいものを使うときにコードの変更が必要になるので追加するときはdev:lsp-addというagentのコマンドで半自動化している。

Neovimはcontainerizeされていて、PCの環境に直接入れなくても簡単に試せる環境を整えている

ちなみに、dotfilesを分割してRepository管理している。

統合は後からでもできるが、後で分割しようとするのは結構難しいので、一旦分けている。
それによって新しい環境に入れる時の負荷もそこまで上がったりはしない。

あまりないが、IDEがほしい時はZedを使っている。

Vim keybindとの連携がVSCode系統よりもスムーズな感じがする。

terminal

2年前くらいからWezTermを使っている。
軽くてクセがなくて普通に動く、という素晴らしいterminalだと思う。

設定をLua langでかけるというのも大きくて、keymapを変更する際はagentに指示するだけで完了する。

WezTerm Overlayを使ってコンパクトなworkspace運用にしている。

workspaceの新規作成はaliasを使って簡略化していて、本来のコマンドはあまり覚えていない

Ghosttyも一時期使っていて設定されているが、tabが消せない仕様とか色々と肌に合わなくてやめてしまった。

shell

zshを使っていて、plugin manegerはsheldonを使っている。

なるべくシンプルに保つようにしているが、shell aliasは62個貼ってあった。

お気に入りのaliasを抜粋

alias evsh='source ~/.zshrc'
alias edsh='nvim ~/.zshrc'
alias edshelldon='EDITOR=nvim sheldon edit'
alias evshelldon='eval "$(sheldon source)"'
alias ednv='nvim ~/.config/nvim'
alias edcc='nvim ~/.claude/'
alias edwez='nvim ~/.config/wezterm/wezterm.lua'
alias ghbase='(){gh pr view $1 --json baseRefName --jq ".baseRefName"}'
alias nv='nvim'
alias wta='(){wezterm cli spawn --new-window --workspace "$1"}'
alias nxdev='nix develop'
alias met='memoli today'
alias cc="claude"

Note

個人的なタスク管理、作業記録などのPC内で完結させたいものは、memoliという自作のCLIを使って、terminalからメモを取っている。

日付ベースでメモを取っていく前提の機能を入れていて、1日の始まりは大体memoli dailyを実行して簡単な整理をしてからが生活リズムになっている。

揮発性のある考えのメモなどは紙で取っていて、HINGEというコピー用紙を挟んで使えるタイプのメモ帳を使っている。

19歳の時の誕プレで友達にもらってから愛用しているのでかれこれ5年目。
今はA6サイズを普段も仕事でも使っていて、ジーンズのポッケにも入るので手ぶらの時も持っている。

僕の作るtoolのアイデアとかはこのHINGEに支えられているかもしれない。

ランチャーツール

Raycastを使っている、便利すぎ。

デスクトップアプリの移動は全てRaycastで飛び回っている。

公式のStoreにないけどほしいものがある時は、自作のExtensionをAgentにぱっと書かせたりしている。
TypeScriptで書ける。これとか

キーボード, マウス, モニター

Kinesis Advantage 360を使っている。

お世話になっている方から譲っていただいたもので、もうこれがない開発者人生は考えられない。

これに書いてあるが、keymapはかなり改造していて、両親指のエリアだけでCTRLが3つ設定されている。

肉球キーキャップは、遊舎工房に連れて行ってもらった時に買った。かわいい

会社とか出先ではHHKB Professional HYBRID Type-Sを使っている。こっちはもう3年くらいで、家と会社に一台ずつ置いてある。

モニターはDellの4Kのを使っている。あまりこだわりはない

ちなみに半分以上の時間はラップトップだけで作業している。

マウスはLogicoolのトラックボールのやつ。

AI Agent

Claude Maxユーザーで、Claude Codeを使っている。

一時期はOpenAIやCursorも比較しながら使っていたが、AIベンダーの競争に自分の時間を取られるのがめんどくさくなってポールポジションを決めた結果、Claudeが選ばれた。

repositoryごとの設定はあるが、user scopeの設定はclaudedotとしてまとめている

publishしたいskillはpluginとしてまとめていて、/plugin marketplace add sorafujitani/skillsでinstallできる。

今は自Blogの記事で紹介したlocal-repo-finderと、推しているKarin.さんの最新情報を確認できるkarin-infoの2つだけ。
これから増やしていくはず

MCPはNotion, Context7, DataDog, Linearなどなどを使っていて、なるべくMCPから操作するように意識してからは個別のアプリケーションを見にいくよりも便利な感じがある。

弊社はAI活用補助制度があってありがたい、ありがとう

ブラウザ

Arcを使っている。同等の縦タブがChromeに来ないうちは使い続けると思う。

部分的にChromeも使っていて、Claude CodeからClaude in Chrome MCPを使うときにArcだと拡張が使えないので仕方なく開いている。

プレゼン資料作成

Slidevを前提としたスライド資料生成の仕組みを整えたrepositoryからtemplate createしている。

note.mdに内容をざっくりまとめてから、Claude Codeでgen-slideコマンドを実行すると、カラーテーマや言い回しなどの共通設定が考慮されたスライドが生成される仕組み。

GitHub PagesにCI時に自動デプロイされるようにしている。

自Blog

フレームワークはAstro、ホストはCloudFlare Pagesを使用している。

BiomeとかDevinの公式ドキュメントの配色が好きで寄せている。

別でまとめようと思っているが、下記の工夫があったりする

  • Blog記事のOGP生成
  • Zennと同じような、コードブロックに拡張子とファイル名を表示する仕組み
  • Talksの資料がSpeakerDeckやGitHub Pagesなどを統一的にOGP生成できる
  • PullsのPublic PR一覧表示

まとめ

総じて、開発環境においては下記を意識して構成している

  • 小さくシンプルである
  • 最小限の依存先である
  • 他のマシンでの再現性がある
  • なるべくpublishする

開発環境に関わらずで同じものを長く使い続けたいタイプではあるので、とてもいいものでなければ別のツールややり方に変える気はあまりない。

交換ブログつぎはふみさんです。

Zedユーザーってことだけは知っている