From bd270999f34a61b5cf1c7325fb521b2f1e8ee23f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20=E2=80=9CNiols=E2=80=9D=20Jeannerod?=
 <nicolas.jeannerod@moduscreate.com>
Date: Mon, 24 Feb 2025 14:53:00 +0100
Subject: [PATCH] Integrate `hostPublicKey` with the options

---
 infra/common/resource.nix | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/infra/common/resource.nix b/infra/common/resource.nix
index 2b7bc616..15b5693b 100644
--- a/infra/common/resource.nix
+++ b/infra/common/resource.nix
@@ -6,22 +6,23 @@
 }:
 
 let
-  inherit (lib) attrValues elem;
+  inherit (lib) attrValues elem mkDefault;
   inherit (lib.attrsets) concatMapAttrs optionalAttrs;
   inherit (lib.strings) removeSuffix;
 
   secretsPrefix = ../../secrets;
   secrets = import (secretsPrefix + "/secrets.nix");
   keys = import ../../keys;
-  hostPublicKey = keys.systems.${config.fediversityVm.name};
 
 in
 {
   imports = [ ./options.nix ];
 
+  fediversityVm.hostPublicKey = mkDefault keys.systems.${config.fediversityVm.name};
+
   ssh = {
     host = config.fediversityVm.ipv4.address;
-    hostPublicKey = hostPublicKey;
+    hostPublicKey = config.fediversityVm.hostPublicKey;
   };
 
   nixpkgs = inputs.nixpkgs;
@@ -46,7 +47,7 @@ in
     ## as `age.secrets.<name>.file`.
     age.secrets = concatMapAttrs (
       name: secret:
-      optionalAttrs (elem hostPublicKey secret.publicKeys) ({
+      optionalAttrs (elem config.fediversityVm.hostPublicKey secret.publicKeys) ({
         ${removeSuffix ".age" name}.file = secretsPrefix + "/${name}";
       })
     ) secrets;