Demi Marie Obenour writes: > On 7/29/25 08:33, Alyssa Ross wrote: >> Demi Marie Obenour writes: >> >>> The following command fails to rebuild the image: >>> >>> $ nix-shell --run 'make clean && make run-qemu' >>> >>> The following command succeeds: >>> >>> $ nix-shell --pure --run 'make clean' && nix-shell --pure --run 'make run-qemu' >>> >>> Interactive Nix shells exhibit the same problems, and adding >>> --pure to the first invocation does not help. >> >> Works for me on 560fd87 in img/app. What were you testing? Logs? > > I think the problem only arises when there is a dependency that > default.nix knows about but the makefile doesn't. nix-shell > appears to import default.nix directly, so > > $ nix-build default.nix > > inside a Nix shell does not update various paths (like the path > to the kernel) that the makefile needs. > > I think it would be better for the makefile to import the > variables from Nix if possible. Yeah, that's not how it works. You need to exit and re-enter the shell. nix-build will not update your shell environment, and that's where Make variables come from.