##概要
年末年始ごろに流行っていた「開発環境現状確認」ですが、色々あって没にしていたものを今更ながら投稿します。
##OS
OS は一応 Windows11, ArchLinux, macOS を持っています。
大学に入る前は Windows11 をメインで使っていましたが、現在は私の通っている大学の指定 PC が Mac Book のため、macOS を使っています。最大ストレージが 256GB のため、日々容量の少なさに苦しみながら使っています。
macOS はメイン機として、プログラミングや大学の課題をやる時に使っています。Windows 11 は基本的にゲームをする時くらいしか使いません。Arch Linux は Hyprland を導入していますが、特に何か目的があるわけではなく、ほぼお遊びで触っているだけです。
##キーボード・マウス
キーボードは MacBook の内蔵キーボードを使っています。分割キーボードに手を出したい気持ちはあるものの、購入競争に勝てなかったり予算がなかったりといった理由で、まだ手を出せていません。
マウスというか、普段は MacBook のトラックパッドを使っています。正直このトラックパッドが非常に優秀なので、わざわざマウスを買う必要性を感じていません。一応、何かあった時のために Logicool の M575 というトラックボールマウスを持っています。
##エディタ
以前は VSCode を使っていましたが、Neovim に移行しました。拡張機能を入れすぎて起動時に重くなるのが煩わしかった且つ Vim のキーバインドが楽しかったという理由で使い始めました。Neovim の主要なプラグインだけ書いておきます。
- プラグイン管理: lazy.nvim
- LSP 管理: Mason.nvim, mason-lspconfig.nvim
- FuzzyFinder: Snacks.picker
- Completion: blink.cmp
##ターミナル
Windows11 を使っていたときはコマンドプロンプトを使っていましたが、macOS への移行を機に WezTerm を使い始めました。WezTerm は Neovim と同じ Lua というプログラミング言語で設定を書くことができるのでかなり自由度が高いです。最近は、Ghostty が非常に校則と話題になっていますが、正直 WezTerm に満足しているので移行する予定は今のところ無いです。
##シェル・プロンプト
シェルは fish を使っています。fish は特に設定をしなくてもデフォルトでシンタックスハイライトや補完が使えるので便利です。
プロンプトは Windows11 を使っていたころの名残りで Oh My Posh というのを使っています。Git のブランチやシェルの種類などが表示されるので結構気に入っています。余談ですが、私の環境では Oh My Posh の方が Starship よりも動作が高速でした。
-1774800557535.webp)
##ランチャー
ランチャーは Raycast を使っています。正直あんまり使いこなせていません。クリップボードの履歴とカラーピッカーをそれぞれ⌘ + Shift + Vと⌘ + Shift + Cに割り当てているくらいです。それくらいしか設定してません。Raycast の良い活用方法がいまいちよく分かっていないので、有識者の方はぜひ教えてください。##IME
IME は macSKK を使っています。
SKK はいいぞおじさん「SKK はいいぞ」というのを見て使い始めました。使い始めて一ヶ月くらいしか経っていないのでまだ入力が慣れていませんが、変換のストレスが 無くなったのがかなり大きいです。
今まで macOS で使っていた IME の遍歴は macOS 標準 IME→azooKey→macSKK って感じです。
標準搭載 IME は、はっきり言って最悪です。
- 入力中に勝手に変換される。(設定でオフにできる)
- 誤変換が積み重なって変換の質が悪くなる。
- 一部のアプリで変換ウィンドウが消える。
などなど致命的な問題が複数あったので使うのをやめました。
azooKey については、公式サイトに「高精度なニューラルかな漢字変換エンジン『Zenzai』を導入した、オープンソースの日本語入力システム」とある通り、変換の質はそこそこ良かったです。ただ、一度変換した候補が学習リセットをしないかぎり、常に一番上に来るというバグ?仕様?がありました。一応対策として、上位に表示させたい文字をユーザー辞書に登録することで回避はできますが、全単語でそれを行うのは不可能であり、煩わしくなって使うのをやめました。変換の質を高めるために導入したのに、自分で手間をかけて調整しにいくという本末転倒な状況になってしまいました。
##フォント
フォントは Udev Gothic NF を使っています。BIZ UD ゴシックと JetBrains Mono を合成したプログラミング向けフォントで、非常に見やすいです。全角スペースが「□」で可視化されるので、全角スペースによるエラー対策にもなったりします。また、Nerd Font 版なので、エディタやプロンプトでアイコンを表示できる点も Neovim を使う上で重宝しています。
##ブラウザ
昔からの名残りでVivaldi↗️ を愛用しています。垂直タブやマウスジェスチャーがデフォルトで搭載されています。他にもカレンダーやメールなどの機能がブラウザ上で完結しますし、Chromium ベースなので Chrome 拡張機能が使えるのもポイントが高いです。
##環境管理
###パッケージ管理
CLI ツールは Nixpkgs、GUI ツールは Homebrew casks、プロジェクトごとの設定は mise で管理しています。Nixpkgs だけだと対応していないアプリもあるので GUI ツールは Homebrew casks を使っています。mise はチーム開発をする際に便利なので使っています。
###dotfiles
dotfiles の管理は、Nix の Home Manager を使用しています。以前は chezmoi を使っていましたが、自分の使わない機能が多かったので使うのをやめました。環境をゼロから宣言的に管理できるので、再構築の手間が省けて非常に重宝しています。



