16 lines
425 B
Nix
16 lines
425 B
Nix
|
{ config, lib, ... }:
|
||
|
|
||
|
{
|
||
|
hostLinks = lib.pipe config.services [
|
||
|
(lib.filterAttrs (_: svc: svc.meshLinks != {}))
|
||
|
(lib.mapAttrsToList (svcName: svc: lib.mapAttrsToList (name: cfg: lib.genAttrs svc.nodes.${name} (hostName: {
|
||
|
${cfg.name} = { ... }: {
|
||
|
imports = [ cfg.link ];
|
||
|
ipv4 = config.vars.mesh.${hostName}.meshIp;
|
||
|
};
|
||
|
})) svc.meshLinks))
|
||
|
(map lib.mkMerge)
|
||
|
lib.mkMerge
|
||
|
];
|
||
|
}
|