Don't Repeat Yourself

Don't Repeat Yourself (DRY) is a principle of software development aimed at reducing repetition of all kinds. -- wikipedia

開発環境現状確認(2025年)

たしかに、その年ごとに何を使っているのかログ取れるとおもしろいですね。来年もやるかどうかは未知数ですが!

blog.handlena.me

エディタ

Neovimを使っています。2023年ごろにVS Codeから乗り換えたはずです。一応緊急避難先としてVS CodeやZedもセットアップしてはありますが、普段は使っていません。

ただ、仕事ではKotlinという言語がちゃんと動くLanguage Serverを持っていない関係で、IntelliJを使っています。マウスカーソルを動かす必要があり、とてもイライラします。Kotlin以外の言語ではすべてNeovimを使用しています。

VS Codeで少し羨ましいのは、コーディング用のAI周りの対応が速いことです。時代の変化についていくためにはVS Codeをしっかり使っている必要がありそうではあります。

しかし、Neovimでも実はCopilot Chatが使えたり、Cursorみたいな機能が使えるプラグインがあったりと、対応がそこまで遅いわけではありません。実際開発中にCopilot Chatを使ってテストコードをたくさん生成させるなどして、開発効率を高めています。

ターミナルエミュレータ

去年はWezTermをずっと使っていましたが、今年に入ってGhosttyを試しています。後述するようにtmuxを利用していることから、そこまでこれらのターミナルエミュレータの機能を使いこなしてはいません。

カラースキーマはずっとCatppuccin Mochaを使っています。

ターミナルマルチプレクサ

tmuxを使っています。あと、tmuxinatorというツールを使っています。

github.com

去年実はZellijをちょっと試してみたんですが、あんまり乗り換える必要性を感じなくてやめてしまいました。

シェル

zshです。ずっと変わらず使っています。

fishがRustに移行したらしいのでとても気になっています。

ランチャー

Alfred。Raycastへの乗り換えはサボっています!

タイリングウィンドウマネージャー

Amethystというツールを使っています。Linuxxmonadがわかる方なら、macOS版のそれです。

github.com

これと、加えてMacの仮想デスクトップを複数枚用意しておいて、各デスクトップに何を配置するか概ね決めています。Amethystを利用すると、この辺りの切り替えをキーボードだけで行えるのでいい感じです。

yabaiとskhdの組み合わせも多いらしいので、この辺りは好みの差かなとは思っています。あんまり詳しく調べていないんですが、yabaiを利用すると下記の記事のようにMacをカスタマイズできるらしくて、どこかでyabaiに切り替えて試してみたいなとは思っています。

zenn.dev

フォント

JetBrains Mono Nerd Font、(マジか、と思われるかもしれませんが)リガチャあり、斜体オンです。

ブラウザ

Google Chrome

開発環境のセットアップ

homebrewとmiseを使っています。homebrewは割愛します。強いていうなら今年こそNixで管理させたいです。

miseは、たまに見るなんとかenvの代替品になります。たとえばプライベートではJava21を使っているけど、別プロジェクトではまだJava17で、切り替えをしたいというようなケースで便利です。マシン全体で複数バージョンの使用と切り替えができる他、プロジェクトローカルでも切り替えできる設定を組むことができます。他にもいろいろ機能があるらしくて、本気で使ったら結構便利そうです。使えてないですが…。

github.com

mise-en-place(フラ語)の略です。mise部分は"MEEZ"(ミーズ)って読んでほしい、と公式に書いてありそうです。

https://mise.jdx.dev/

dotfiles

特筆事項としては、chezmoi(しぇもわ; フラ語)というツールを使って管理しています。[*1]そろそろ家にArchLinuxのマシンを生やしたいと思っていて、マルチプラットフォーム対応したいなと思っています。

github.com

ノートテイキング

知的生産活動(本とかブログ書いたり、読んだ本の考えをまとめたり)は、ObsidianにZettelkastenという手法をつっこんでやっています。ZettelkastenやるならObisidianは本当に相性がいいと思います。グラフが便利です。下記の動画を通じてやり方を学びました。

youtu.be

日常生活のドキュメントやジャーナリングなどはNotionを引き続き使っています。写真をぺたぺた貼っていい感じにデコレーションできるので、そのときの記憶をいい感じに保存できて便利です。仕事でもNotionを使っていますが、Notion AIはいいツールですね。もっと使いこなしたい。

docker

Orbstackを使っています。速いです。使いやすいです。

orbstack.dev

キーボード

今この記事を書いているのは

HHKB 雪

なんですが、結構気分でいろいろ変わっています。最近はLofree Flow Liteが届きました。「コトコト(thocky)」な感じのサウンドのキーボードが好きなので、Rainy 75が気になっています。

まとめ

Kotlinは早くLanguage Serverを作ってNeovimで書けるようになってほしい。Nixに移行したいです。

*1:私の開発環境をフィリピンの同僚に見せたら、フラ語由来のツールがあまりにも多くて、「ゆき、お前はフラ語もしゃべれるのか…」と勘違いされました。