Fediversity/infra/flake-part.nix

51 lines
1,011 B
Nix
Raw Normal View History

2025-01-30 09:57:56 +01:00
{
inputs,
lib,
...
}:
2025-01-30 09:53:45 +01:00
let
inherit (lib) attrValues concatLists mapAttrs;
2025-01-30 09:57:56 +01:00
inherit (lib.attrsets) genAttrs;
2025-01-30 09:53:45 +01:00
makeResource =
vmName:
2025-01-30 09:53:45 +01:00
{ providers, ... }:
{
_module.args = { inherit inputs; };
type = providers.local.exec;
imports = [
inputs.nixops4-nixos.modules.nixops4Resource.nixos
./common/procolixResource.nix
2025-01-31 15:11:56 +01:00
(./. + "/${vmName}")
];
procolixVm.name = vmName;
2025-01-30 09:53:45 +01:00
};
addDefaultDeployment =
deployments: deployments // { default = concatLists (attrValues deployments); };
2025-01-30 09:57:56 +01:00
makeDeployments = mapAttrs (
_: vmNames:
2024-12-16 13:06:35 +01:00
{ providers, ... }:
{
providers.local = inputs.nixops4.modules.nixops4Provider.local;
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 (addDefaultDeployment {
2025-01-30 09:57:56 +01:00
git = [
"vm02116"
"fedi300"
];
web = [ "vm02187" ];
other = [
"vm02179"
"vm02186"
];
});
}