From 614d1aecfd736594c9dc16abf837ee95bf20416f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 6 Feb 2024 16:47:57 +0100 Subject: [PATCH] set nixpkgs.pkgs for secrets generation This allows us to use the same nixpkgs instance for all machines. --- lib/build-clan/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/build-clan/default.nix b/lib/build-clan/default.nix index 9625689d..37110c0d 100644 --- a/lib/build-clan/default.nix +++ b/lib/build-clan/default.nix @@ -30,7 +30,7 @@ let (machineSettings.clanImports or [ ]); # TODO: remove default system once we have a hardware-config mechanism - nixosConfiguration = { system ? "x86_64-linux", name, forceSystem ? false }: nixpkgs.lib.nixosSystem { + nixosConfiguration = { system ? "x86_64-linux", name, pkgs ? null }: nixpkgs.lib.nixosSystem { modules = let settings = machineSettings name; @@ -40,19 +40,21 @@ let settings clan-core.nixosModules.clanCore (machines.${name} or { }) - { + ({ clanCore.clanName = clanName; clanCore.clanIcon = clanIcon; clanCore.clanDir = directory; clanCore.machineName = name; - nixpkgs.hostPlatform = if forceSystem then lib.mkForce system else lib.mkDefault system; + nixpkgs.hostPlatform = lib.mkDefault system; # speeds up nix commands by using the nixpkgs from the host system (especially useful in VMs) nix.registry.nixpkgs.to = { type = "path"; path = lib.mkDefault nixpkgs; }; - } + } // lib.optionalAttrs (pkgs != null) { + nixpkgs.pkgs = lib.mkForce pkgs; + }) ]; inherit specialArgs; }; @@ -75,7 +77,7 @@ let configsPerSystem = builtins.listToAttrs (builtins.map (system: lib.nameValuePair system - (lib.mapAttrs (name: _: nixosConfiguration { inherit name system; forceSystem = true; }) allMachines)) + (lib.mapAttrs (name: _: nixosConfiguration { inherit name system; pkgs = nixpkgs.legacyPackages.${system}; }) allMachines)) supportedSystems); in {