aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nix/installables.cc9
1 files changed, 6 insertions, 3 deletions
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<const flake::LockedNode>(nixpkgsInput->second)) {
+ debug("using nixpkgs flake '%s'", lockedNode->lockedRef);
+ return std::move(lockedNode->lockedRef);
+ }
}
return Installable::nixpkgsFlakeRef();