2025-01-30 09:57:56 +01:00
|
|
|
{
|
|
|
|
inputs,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}:
|
2024-11-17 01:02:23 +01:00
|
|
|
|
2025-01-30 09:53:45 +01:00
|
|
|
let
|
2025-01-31 15:24:41 +01:00
|
|
|
inherit (lib) attrValues concatLists mapAttrs;
|
2025-01-30 09:57:56 +01:00
|
|
|
inherit (lib.attrsets) genAttrs;
|
|
|
|
|
2025-01-31 15:24:41 +01:00
|
|
|
addDefaultDeployment =
|
|
|
|
deployments: deployments // { default = concatLists (attrValues deployments); };
|
|
|
|
|
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 16:36:18 +01:00
|
|
|
resources = genAttrs vmNames (vmName: {
|
|
|
|
_module.args = { inherit inputs; };
|
|
|
|
type = providers.local.exec;
|
|
|
|
imports = [
|
|
|
|
inputs.nixops4-nixos.modules.nixops4Resource.nixos
|
2025-01-31 16:47:33 +01:00
|
|
|
./common/resource.nix
|
2025-01-31 16:36:18 +01:00
|
|
|
(./. + "/${vmName}")
|
|
|
|
];
|
|
|
|
procolixVm.name = vmName;
|
|
|
|
});
|
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
|
|
|
|
{
|
2025-01-31 15:24:41 +01:00
|
|
|
nixops4Deployments = makeDeployments (addDefaultDeployment {
|
2025-01-30 09:57:56 +01:00
|
|
|
git = [
|
|
|
|
"vm02116"
|
|
|
|
"fedi300"
|
|
|
|
];
|
|
|
|
web = [ "vm02187" ];
|
|
|
|
other = [
|
|
|
|
"vm02179"
|
|
|
|
"vm02186"
|
|
|
|
];
|
2025-01-31 15:24:41 +01:00
|
|
|
});
|
2024-11-17 01:02:23 +01:00
|
|
|
}
|