From 39d1d2999bd59af16296b3890d9af1279d6bcd24 Mon Sep 17 00:00:00 2001 From: sinavir Date: Wed, 3 Apr 2024 19:21:40 +0200 Subject: [PATCH] feat(hive): Add function to instantiate patched nixpkgs in specialArgs --- hive.nix | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/hive.nix b/hive.nix index 39e4ec7..e778504 100644 --- a/hive.nix +++ b/hive.nix @@ -16,21 +16,23 @@ let ]; }; - mkNixpkgs = - node: - patch.mkNixpkgsSrc rec { + mkPatchedNixpkgs = + version: + patch.mkNixpkgsSrc { src = sources.${version}; - version = "nixos-${nodes'.${node}.nixpkgs or (import ./meta/nixpkgs.nix)}"; + inherit version; }; - mkNixpkgs' = node: import (mkNixpkgs node) { }; + mkNixpkgs = version: import (mkPatchedNixpkgs version) { }; + + mkNixpkgsVersion = node: "nixos-${nodes'.${node}.nixpkgs or (import ./meta/nixpkgs.nix)}"; ### # Function to create arguments based on the node # mkArgs = node: rec { lib = import sources.nix-lib { - inherit (mkNixpkgs' node) lib; + inherit (mkNixpkgs (mkNixpkgsVersion node)) lib; keysRoot = ./keys; }; @@ -41,10 +43,11 @@ in # nodes = builtins.attrNames metadata.nodes; { meta = { - nodeNixpkgs = lib.mapSingleFuse mkNixpkgs' nodes; + nodeNixpkgs = lib.mapSingleFuse (n: mkNixpkgs (mkNixpkgsVersion n)) nodes; specialArgs = { inherit sources; + inherit mkNixpkgs; }; nodeSpecialArgs = lib.mapSingleFuse mkArgs nodes; @@ -63,7 +66,7 @@ in inherit (meta.nodes.${name}) deployment; # Set NIX_PATH to the patched version of nixpkgs - nix.nixPath = [ "nixpkgs=${mkNixpkgs name}" ]; + nix.nixPath = [ "nixpkgs=${mkPatchedNixpkgs (mkNixpkgsVersion name)}" ]; nix.optimise.automatic = true; # Allow unfree packages