Open1

HomebrewとNix Home Managerを併用するための試行錯誤

komenzarkomenzar

アウトライン

  1. (現状)homebrewでいろいろアプリを管理している。nix, home-managerを入れた。
  2. 元々のhomebrewのパスを外す。ただし、まだ削除しない。home-managerでhomebrewを入れて、Brewfileから復元。こちらの新環境をNix/Homebrewと呼ぶことにする。旧環境はただのHomebrewと表記する。
  3. Nix/Homebrewの動作が確認できたら旧環境を削除する。

いきなりHomebrewを消してしまうのは怖かったので、削除は後にする。

nixにさらにhomebrewを入れるの、なぜ?

もともとはvscodeをhomebrewからnixに移行しようとしたのがきっかけ。nixで管理しようとすると、ユーザー設定Code/User/settings.jsonがイミュータブルになるとわかったことだった。たしかにイミュータブルのメリットもあるが、vscode内で設定をさわれなくなるの不便じゃないか、と感じた。

まあ、Code/User/settings.jsonがイミュータブルになる分には問題ないし、ワークスペース内の.vscode/settings.jsonで設定した方が明示的になるからいいや。と思ったが、拡張機能の方が問題だった。nixでvscodeを管理すると拡張機能も宣言的に記述する必要がある。日常のコーディングしている時は問題なさそうだけど、「この拡張機能試してみようっと、ポチ」と気軽に拡張機能を入れることができなくなってしまう。それがちょっと嫌だった。

もちろん、その積み重ねで今となってはいらない拡張機能がたくさん入ってしまっているのだが、新しいもの好きとしては「気軽にためす」のができなくなるのがつらい。

このように考えた結果、nixでhomebrewをインストールして、vscodeはnixから切り離すことにした。のちのち考えが変わればnixに直接記述することにすればいいし。