Or whatever your flake is. Mostly important that we have flake-compat.
Then do a nix flake update and ensure the nix/flake.lock file exists. At that point nix-shell (in the repo root) will start working but will use the nix/flake.nix content, and only copy files in nix/ into the store. This does limit to some extent what the flake can do, but for many devShell uses it's sufficient.
One can have a
shell.nixthat uses theflake.nixin a subdir. Here's how one can do this:in
shell.nix:in
./nix/flake.nix:Or whatever your flake is. Mostly important that we have
flake-compat.Then do a
nix flake updateand ensure thenix/flake.lockfile exists. At that pointnix-shell(in the repo root) will start working but will use thenix/flake.nixcontent, and only copy files innix/into the store. This does limit to some extent what the flake can do, but for manydevShelluses it's sufficient.