Demi Marie Obenour <demiobenour@gmail.com> writes:
On 7/29/25 08:33, Alyssa Ross wrote:
Demi Marie Obenour <demiobenour@gmail.com> 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.