diff --git a/src/nix/installables.cc b/src/nix/installables.cc index 21fd54f64..fde1ca7aa 100644 --- a/src/nix/installables.cc +++ b/src/nix/installables.cc @@ -503,9 +503,12 @@ FlakeRef InstallableFlake::nixpkgsFlakeRef() const { auto lockedFlake = getLockedFlake(); - auto nixpkgsInput = lockedFlake->flake.inputs.find("nixpkgs"); - if (nixpkgsInput != lockedFlake->flake.inputs.end()) { - return std::move(nixpkgsInput->second.ref); + auto nixpkgsInput = lockedFlake->lockFile.root->inputs.find("nixpkgs"); + if (nixpkgsInput != lockedFlake->lockFile.root->inputs.end()) { + if (auto lockedNode = std::dynamic_pointer_cast(nixpkgsInput->second)) { + debug("using nixpkgs flake '%s'", lockedNode->lockedRef); + return std::move(lockedNode->lockedRef); + } } return Installable::nixpkgsFlakeRef();