Install nix on Mac
2022/03
所要時間:1h ~ 1.5h?
試してないのでちゃんといけるかわかんない
まずインストールする
code:sh
macの場合defaultでmulti userモードになる
諸記事で言及されているようにMacではルートの読み取り専用ファイルにうにゃうにゃするせいでいろいろあったっぽい
これに対応した結果multi userと認識されてしまうのでsingle userモードはないということです
実行するとやたら丁寧にinstallを実行してくれる
これが業界標準か?
インストール中に/etc/bashrcと/etc/zshrcを変更してnixの設定ファイルを読み込むようにしてくれる
code:bashrc
# Nix
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix
わたしの環境だとこれが/etc/bashrcに挿入されていた
bash, zshのひとはそのままいけると思う
任意のshell環境のひとは上を参考にして読む込むようにしてくれ
channelについて
code:sh
sudo -i nix-channel --list
multi userモードで入れたのでrootにunstableチャンネルが入ってると思います。多分
direnvを入れる
nix-envでインストールする。
nix-envは雑にbetter Homebrewと思ってよいです。世代管理できるHomebrew
code:sh
nix-env -iA nixpkgs.direnv
リンクを参考にhookしてください
cdなどでディレクトリを移動した際にdirenvを起動して.envを読み込む設定を書いているんだと思う
nix-direnvを入れる
code:sh
nix-env -iA nixpkgs.nix-direnv
code:~/.direnvrc
source ~/.nix-profile/share/nix-direnv/direnvrc
これを書いておく
用意されてないのでファイルから作る
code:~/.config/nix/nix.conf
keep-derivations = true
keep-outputs = true
今回はプロジェクトごとにnix-shell環境を立てたり閉じたりするのでビルドしたものがすぐ消えないように設定しておく
準備完了
これで準備は完了した
shell.nixが用意されたプロジェクトで.envrcを用意してuse nixを書いておくとプロジェクトのディレクトリに入ったときに.envrcを読み込んでいろいろインストールしてくれる
初回はdirenv allowしてくださいって言われる
その後
お好みでどうぞ