mirror of
https://github.com/CHN-beta/nixos.git
synced 2026-01-12 04:39:23 +08:00
flake.nixos: 整理
This commit is contained in:
@@ -1,43 +1,34 @@
|
||||
{ inputs, localLib }:
|
||||
let
|
||||
machine = [ "nas" "pc" "vps6" "vps7" "one" ];
|
||||
singles = [ "nas" "pc" "vps6" "vps7" "one" ];
|
||||
cluster = { srv1 = 3; srv2 = 2; };
|
||||
in builtins.listToAttrs
|
||||
(
|
||||
(builtins.map
|
||||
(system:
|
||||
{
|
||||
name = system;
|
||||
value = inputs.nixpkgs.lib.nixosSystem
|
||||
{
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { topInputs = inputs; inherit localLib; };
|
||||
modules = localLib.mkModules
|
||||
[ { config.nixos.model.hostname = system; } ../modules ../devices/${system} ../devices/cross ];
|
||||
};
|
||||
})
|
||||
machine)
|
||||
++ (builtins.concatLists (builtins.map
|
||||
(cluster:
|
||||
let nodes = builtins.genList (n: "node${builtins.toString n}") cluster.value;
|
||||
in builtins.map
|
||||
deviceModules = builtins.listToAttrs
|
||||
(
|
||||
(builtins.map
|
||||
(n: { name = n; value = [ { config.nixos.model.hostname = n; } ../modules ../devices/${n} ../devices/cross ]; })
|
||||
singles)
|
||||
++ (builtins.concatLists (builtins.map
|
||||
(cluster: builtins.map
|
||||
(node:
|
||||
{
|
||||
name = "${cluster.name}-${node}";
|
||||
value = inputs.nixpkgs.lib.nixosSystem
|
||||
{
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { topInputs = inputs; inherit localLib; };
|
||||
modules = localLib.mkModules
|
||||
[
|
||||
{ config.nixos.model.cluster = { clusterName = cluster.name; nodeName = node; }; }
|
||||
../modules
|
||||
../devices/${cluster.name}
|
||||
../devices/${cluster.name}/${node}
|
||||
../devices/cross
|
||||
];
|
||||
};
|
||||
value =
|
||||
[
|
||||
{ config.nixos.model.cluster = { clusterName = cluster.name; nodeName = node; }; }
|
||||
../modules
|
||||
../devices/${cluster.name}
|
||||
../devices/${cluster.name}/${node}
|
||||
../devices/cross
|
||||
];
|
||||
})
|
||||
nodes)
|
||||
(localLib.attrsToList cluster)))
|
||||
)
|
||||
(builtins.genList (n: "node${builtins.toString n}") cluster.value))
|
||||
(localLib.attrsToList cluster)))
|
||||
);
|
||||
in builtins.mapAttrs
|
||||
(_: v: inputs.nixpkgs.lib.nixosSystem
|
||||
{
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { topInputs = inputs; inherit localLib; };
|
||||
modules = localLib.mkModules v;
|
||||
})
|
||||
deviceModules
|
||||
|
||||
Reference in New Issue
Block a user