Evaluate machine configs using callPackage
This commit is contained in:
parent
875d82cce8
commit
89daa0c9ba
1 changed files with 7 additions and 5 deletions
12
flake.nix
12
flake.nix
|
@ -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;
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue