2025-01-30 09:57:56 +01:00
|
|
|
{
|
|
|
|
self,
|
|
|
|
inputs,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}:
|
2024-11-17 01:02:23 +01:00
|
|
|
|
2025-01-30 09:53:45 +01:00
|
|
|
let
|
2025-01-31 14:59:35 +01:00
|
|
|
inherit (lib) mapAttrs;
|
2025-01-30 09:57:56 +01:00
|
|
|
inherit (lib.attrsets) genAttrs;
|
|
|
|
|
2025-01-30 09:53:45 +01:00
|
|
|
makeResource =
|
2025-01-31 14:59:35 +01:00
|
|
|
vmName:
|
2025-01-30 09:53:45 +01:00
|
|
|
{ providers, ... }:
|
|
|
|
{
|
2025-01-31 14:59:35 +01:00
|
|
|
_module.args = { inherit self inputs providers; };
|
|
|
|
imports = [
|
|
|
|
inputs.nixops4-nixos.modules.nixops4Resource.nixos
|
2025-01-31 15:22:28 +01:00
|
|
|
./common/procolixResource.nix
|
2025-01-31 15:11:56 +01:00
|
|
|
(./. + "/${vmName}")
|
2025-01-31 14:59:35 +01:00
|
|
|
];
|
|
|
|
procolixVm.name = vmName;
|
2025-01-30 09:53:45 +01:00
|
|
|
};
|
|
|
|
|
2025-01-30 09:57:56 +01:00
|
|
|
makeDeployments = mapAttrs (
|
2025-01-31 14:59:35 +01:00
|
|
|
_: vmNames:
|
2024-12-16 13:06:35 +01:00
|
|
|
{ providers, ... }:
|
|
|
|
{
|
2025-01-31 14:11:46 +01:00
|
|
|
providers.local = inputs.nixops4.modules.nixops4Provider.local;
|
2025-01-31 14:59:35 +01:00
|
|
|
resources = genAttrs vmNames (vmName: makeResource vmName { inherit providers; });
|
2025-01-30 09:57:56 +01:00
|
|
|
}
|
|
|
|
);
|
2024-12-16 13:06:35 +01:00
|
|
|
|
2025-01-30 09:57:56 +01:00
|
|
|
in
|
|
|
|
{
|
|
|
|
nixops4Deployments = makeDeployments {
|
|
|
|
git = [
|
|
|
|
"vm02116"
|
|
|
|
"fedi300"
|
|
|
|
];
|
|
|
|
web = [ "vm02187" ];
|
|
|
|
other = [
|
|
|
|
"vm02179"
|
|
|
|
"vm02186"
|
|
|
|
];
|
|
|
|
};
|
2024-11-17 01:02:23 +01:00
|
|
|
}
|