nix/util/create.nix
2025-07-20 23:45:15 +10:00

29 lines
750 B
Nix

let
inputs = import ./inputs.nix;
inherit (inputs) nixpkgs;
inherit (nixpkgs) lib;
recursivelyImport = import ./recursively-import.nix { inherit lib; };
in
{
systems =
definitions:
nixpkgs.lib.mapAttrs (
name: info:
nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
mainUser = info.user;
};
modules = [
inputs.home-manager.nixosModules.home-manager
(lib.mkAliasOptionModule [ "hm" ] [ "home-manager" "users" info.user ])
{
home-manager.extraSpecialArgs = {
inherit inputs;
mainUser = info.user;
};
}
] ++ (recursivelyImport info.imports);
}
) definitions;
}