From 1729233076f84649aee3b98100a378df88cc8675 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Mon, 16 Aug 2021 08:08:42 -0400 Subject: [PATCH] Fix non-flake compatibility layer. (#1204) Previously 'overlays' was being taken from the non-compat flake output and nixpkgsArgs referenced the wrong version. Fixes #1192 --- default.nix | 4 ++-- flake.nix | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/default.nix b/default.nix index 0de8f155..52b7829f 100644 --- a/default.nix +++ b/default.nix @@ -13,5 +13,5 @@ let sha256 = "sha256:054nsfqh3wy6v6bjamw0k91xl8v1rc5x2laic8mphrkrhzvyz5hi"; }; self = import flake-compat { src = ./.; inherit pkgs; }; -in self.defaultNix.internal.compat -({ system = args.pkgs.system or builtins.currentSystem; } // args) // self.defaultNix +in self.defaultNix // (self.defaultNix.internal.compat +({ system = args.pkgs.system or builtins.currentSystem; } // args)) diff --git a/flake.nix b/flake.nix index c418a8ee..f03efe1f 100644 --- a/flake.nix +++ b/flake.nix @@ -73,8 +73,11 @@ false # Allows us to easily switch on materialization checking , system, sourcesOverride ? { }, ... }@args: rec { sources = inputs // sourcesOverride; - allOverlays = import ./overlays args; - inherit config nixpkgsArgs; + allOverlays = import ./overlays (args // { inherit sources; }); + inherit config; + # We are overriding 'overlays' and 'nixpkgsArgs' from the + # flake outputs so that we can incorporate the args passed + # to the compat layer (e.g. sourcesOverride). overlays = [ allOverlays.combined ] ++ (if checkMaterialization == true then [ @@ -86,6 +89,9 @@ ] else [ ]); + nixpkgsArgs = { + inherit config overlays; + }; pkgs = import nixpkgs (nixpkgsArgs // { localSystem = { inherit system; }; }); pkgs-unstable = import nixpkgs-unstable