nix-direnv を使って .envrc に以下のように書くと:
use flake
flake.nix に定義した dev shell の環境が手元に展開されてコマンドなどが使えるようになる上に、
flake.nix を編集すると nix 式の再評価が自動的に走って dev shell の環境も新しくなってくれて便利です。一応 dev shell は nix develop でも使えるようになりますが、これで立ち上がるシェルはなにかと不便なので、
dev shell を常用する場合はほぼ必須の機能です。
ところで dev shell の内容を決めるのは必ずしも flake.nix だけではありません。例えば opam-nix を使う場合、
*.opam ファイルの中身から dev shell にインストールするべきライブラリの内容が決まります。そのため、
flake.nix だけではなく *.opam ファイルの編集にも dev shell が追従して欲しくなります。
そのような場合は watch_file が便利です[1]。以下のように use flake の前に配置し、監視するべきファイルを追加で指定できます:
watch_file hoge.opam
use flake