Evaluate machine configs using callPackage

This commit is contained in:
Manuel Thalmann 2024-05-11 01:33:56 +02:00
parent 875d82cce8
commit 89daa0c9ba

View file

@ -38,8 +38,8 @@
machines = builtins.mapAttrs (
name: machineDefinition:
defaultMachine // machineDefinition // {
config = { ... }@args:
((defaultMachine.config args) // (machineDefinition.config args));
config = { callPackage, ... }:
((callPackage defaultMachine.config { }) // (callPackage machineDefinition.config { }));
})
machineDefinitions;
@ -86,11 +86,11 @@
modules = [
(
{ pkgs, ... }@args: {
{ pkgs, ... }: {
config._module.args = {
inherit hostname;
machineConfig = (config args) // {
machineConfig = (pkgs.callPackage config { }) // {
inherit hostname;
};
};
@ -113,6 +113,8 @@
pkgs = import nixpkgs {
inherit (machine) system;
};
machineConfig = pkgs.callPackage machine.config { };
in
lib.attrsets.concatMapAttrs (
username: user: {
@ -137,7 +139,7 @@
] ++ (lib.optional (userConfigPath != null) userConfigPath);
};
})
(machine.config { inherit pkgs; }).users)
machineConfig.users)
machines;
});
}