40 lines
944 B
Nix
40 lines
944 B
Nix
{
|
|
nixpkgs,
|
|
home-manager,
|
|
system,
|
|
inputs,
|
|
outputs,
|
|
sharedModules,
|
|
...
|
|
}: {
|
|
systems = definitions:
|
|
nixpkgs.lib.mapAttrs (name: info:
|
|
nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
specialArgs = {
|
|
inherit inputs outputs;
|
|
mainUser = info.user;
|
|
};
|
|
modules =
|
|
[
|
|
../system/${name}.nix
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
extraSpecialArgs = {
|
|
inherit inputs outputs;
|
|
mainUser = info.user;
|
|
};
|
|
users.${info.user}.imports =
|
|
[
|
|
../home/${info.user}.nix
|
|
]
|
|
++ info.hmImports or [];
|
|
};
|
|
}
|
|
]
|
|
++ info.imports or []
|
|
++ sharedModules;
|
|
}) definitions;
|
|
}
|