2024-09-14 20:44:45 +08:00
|
|
|
{ inputs, localLib }:
|
|
|
|
builtins.listToAttrs
|
|
|
|
(
|
|
|
|
(builtins.map
|
|
|
|
(system:
|
2024-09-14 18:49:12 +08:00
|
|
|
{
|
2024-09-14 20:44:45 +08:00
|
|
|
name = system;
|
|
|
|
value = inputs.nixpkgs.lib.nixosSystem
|
|
|
|
{
|
|
|
|
system = let arch.pi3b = "aarch64-linux"; in arch.${system} or "x86_64-linux";
|
|
|
|
specialArgs = { topInputs = inputs; inherit localLib; };
|
|
|
|
modules = localLib.mkModules
|
|
|
|
[
|
|
|
|
{
|
|
|
|
config =
|
|
|
|
{
|
|
|
|
nixpkgs.overlays = [ inputs.self.overlays.default ];
|
|
|
|
nixos.system.networking.hostname = system;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
../modules
|
|
|
|
../devices/${system}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
})
|
|
|
|
[ "nas" "pc" "pi3b" "surface" "vps4" "vps6" "vps7" "xmupc1" "xmupc2" ])
|
|
|
|
++ (builtins.map
|
|
|
|
(node:
|
|
|
|
{
|
|
|
|
name = "srv1-${node}";
|
|
|
|
value = inputs.nixpkgs.lib.nixosSystem
|
|
|
|
{
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = { topInputs = inputs; inherit localLib; };
|
|
|
|
modules = localLib.mkModules
|
|
|
|
[
|
|
|
|
{
|
|
|
|
config =
|
|
|
|
{
|
|
|
|
nixpkgs.overlays = [ inputs.self.overlays.default ];
|
|
|
|
nixos.system.cluster = { clusterName = "srv1"; nodeName = node; };
|
|
|
|
};
|
|
|
|
}
|
|
|
|
../modules
|
|
|
|
../devices/srv1
|
|
|
|
../devices/srv1/${node}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
})
|
|
|
|
[ "node0" "node3" ])
|
|
|
|
)
|