Catalinaでは'/'にディレクトリが作れなくなってしまったので /nix
がどうにもならんことになってしまった。 Discourseのトピックによれば、 パーティションを作ってマウントすることが必要らしい(参考)。 うーむ、どうもこれしかなさそうなんだけど、 もうちょっとやり方が確定するまでメインマシンのアップグレードはしばらく待ってみようか。
ちなみに現在、Nixで(メインマシンに)インストールしているものは以下の通り。
git catchup
が依存している特に重要なものはcoreutils, emacs, git, parallel, tmux, xzあたり。 sat-bench, R, source-highlightは多分捨てられる。 gunpg, nodejsは公式バイナリでもいいか。
とすると、残念だけど、色々と設定が必要ならこの際Nixをやめられない訳ではないようだ。
などと言いつつ、敷居が低い人柱を志願してしまった。
sudo echo nix > /System/Volumes/Data/private/etc/synthetic.conf
(いや/usr/bin/vimを使うことになるのだけど。)
/nix
を有効にするためまずreboot
ボリュームNix
を作る
sudo /usr/sbin/diskutil apfs addVolume disk1 APFSX Nix -mountpoint /nix
sudo /usr/sbin/diskutil enableOwneship /nix
sudo /usr/sbin/diskutil apfs encrypt Nix -user disk
sudo /usr/sbin/chown -R <user> /nix
curl https://nixos.org/nix/install | sh
移動されたディレクトリから復帰するのはownerなどが変わっていたのでやめたほうがいいだろう。 ということでnix由来のプログラムも復活。メインマシンも更新しよう。
しかしCatalinaはinteractive shellをzshに変えよとうるさい。色々設定を変えるはめんどいんじゃあ。
リブートしたらNixボリュームが/Volume/Nixにマウントされていた。/nixはあるけど空。 ということで上記の方法で設定しても、毎回、
sudo /usr/sbin/diskutil umount /Volume/Nix
sudo /usr/sbin/diskutil mount -mountPoint /nix Nix
しないといけないっぽい。マウントポイントは永続的ではないのか。