nixspace
nixspace copied to clipboard
editable projects fail to build if a local flake.nix adds an input that isn't available upstream
chadac@nixos: ~/code/github.com/chadac/nixspace-dev/root/service/gql-api main ⚡
$ ns build .#package [9:28:55]
error:
… while calling the 'derivationStrict' builtin
at /builtin/derivation.nix:9:12: (source not available)
… while evaluating derivation 'gql-api-1.0.0'
whose name attribute is located at /nix/store/7b7m3p9gc9da6cd7wgyabs3wg1832j0v-source/pkgs/stdenv/generic/make-derivation.nix:348:7
… while evaluating attribute 'buildInputs' of derivation 'gql-api-1.0.0'
at /nix/store/7b7m3p9gc9da6cd7wgyabs3wg1832j0v-source/pkgs/stdenv/generic/make-derivation.nix:395:7:
394| depsHostHost = elemAt (elemAt dependencies 1) 0;
395| buildInputs = elemAt (elemAt dependencies 1) 1;
| ^
396| depsTargetTarget = elemAt (elemAt dependencies 2) 0;
error: function 'outputs' called without required argument 'systems'
at /nix/store/aj601p0hrd5sms9yvv3ifmr38mvdjm60-source/flake.nix:10:13:
9|
10| outputs = { self, flake-parts, systems, ... }@inputs:
| ^
11| flake-parts.lib.mkFlake { inherit inputs; } {
This is due to the nixspace lockfile not tracking the new input locally in a way that can be easily overridden. We likely need to have some impure resolution logic which uses a project flake.lock for editable packages first.