Closed matrss closed 4 months ago
It's in there because of the --remote
flag. When doing ssh on the remote machine it's not trivial otherwise to make sure we have nix-eval-jobs
or nom
available. Nom cannot run locally since it needs to access derivations.
I thought that might be the reason.
Wouldn't it be possible to copy over the versions of nix-eval-jobs and nom that the nix-fast-build derivation depends on first, and use those? Or maybe pull them in through the nix-fast-build flake, instead of assuming nixpkgs to be in the registry?
No. The target system might be of a different architecture than the current nix-fast-build running on the local machine.
The flake registry now is only a fallback, in case the remote system doesn't provide the command. nix-fast-build will now lookup $PATH beforehand. This should give people better control over what version gets installed. Implementation in https://github.com/Mic92/nix-fast-build/pull/63/commits/55283e292b2f397aaa747f36501cc18860664aa7
I tried to build my nixfiles repo using nix-fast-build and got the following:
The error seems weird. I do indeed not have nixpkgs in my flake registry (I instead have a pinned version of nixpkgs under a different name). I think this error is coming from here: https://github.com/Mic92/nix-fast-build/blob/4376b8a33b217ee2f78ba3dcff01a3e464d13a46/nix_fast_build/__init__.py#L467
Since nixpkgs in the flake registry is, by default, not pinned to any version I think nix-fast-build should not try to use anything from there and instead use the nix-output-monitor that is already in its closure.
Is this a bug or am I missing some reason for this?