From 552259529695344af702404e818a54c9bed9e96d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=E2=80=9CNiols=E2=80=9D=20Jeannerod?= Date: Thu, 30 Jan 2025 09:57:56 +0100 Subject: [PATCH] Factorise the deployment definition --- infra/flake-part.nix | 63 +++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/infra/flake-part.nix b/infra/flake-part.nix index dd43bb1..a0e223d 100644 --- a/infra/flake-part.nix +++ b/infra/flake-part.nix @@ -1,6 +1,14 @@ -{ self, inputs, ... }: +{ + self, + inputs, + lib, + ... +}: let + inherit (builtins) mapAttrs; + inherit (lib.attrsets) genAttrs; + makeResource = vmid: { providers, ... }: @@ -29,38 +37,27 @@ let }; }; + makeDeployments = mapAttrs ( + _: vmids: + { providers, ... }: + { + providers.local = inputs.nixops4-nixos.modules.nixops4Provider.local; + resources = genAttrs vmids (vmid: makeResource vmid { inherit providers; }); + } + ); + in { - nixops4Deployments.git = - { providers, ... }: - { - providers.local = inputs.nixops4-nixos.modules.nixops4Provider.local; - - resources = { - vm02116 = makeResource "vm02116" { inherit providers; }; - fedi300 = makeResource "fedi300" { inherit providers; }; - }; - }; - - nixops4Deployments.web = - { providers, ... }: - { - providers.local = inputs.nixops4-nixos.modules.nixops4Provider.local; - - resources = { - vm02187 = makeResource "vm02187" { inherit providers; }; - }; - }; - - nixops4Deployments.other = - { providers, ... }: - { - providers.local = inputs.nixops4-nixos.modules.nixops4Provider.local; - - resources = { - vm02117 = makeResource "vm02117" { inherit providers; }; - vm02179 = makeResource "vm02179" { inherit providers; }; - vm02186 = makeResource "vm02186" { inherit providers; }; - }; - }; + nixops4Deployments = makeDeployments { + git = [ + "vm02116" + "fedi300" + ]; + web = [ "vm02187" ]; + other = [ + "vm02117" + "vm02179" + "vm02186" + ]; + }; }