nix/util/create.nix
2025-01-03 16:14:31 +11:00

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;
}