From 07b3cd90d791f8ada37b23dd3fc70c3ed2a19a77 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: Thu, 27 Feb 2025 11:39:07 +0100
Subject: [PATCH] Make clearer what `nixos.module` is

---
 deployment/default.nix | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/deployment/default.nix b/deployment/default.nix
index 1fde7169..370c2dd6 100644
--- a/deployment/default.nix
+++ b/deployment/default.nix
@@ -80,8 +80,25 @@ in
         imports = [
           nixops4-nixos.modules.nixops4Resource.nixos
           resourceModule
-          { nixos.module = config; }
-          { nixos.module = fediversity; }
+
+          {
+            ## NOTE: With NixOps4, there are several levels and all of them live
+            ## in the NixOS module system:
+            ##
+            ##   1. Each NixOps4 deployment is a module.
+            ##   2. Each NixOps4 resource is a module. This very comment is
+            ##      inside an attrset imported as a module in a resource.
+            ##   3. Each NixOps4 'configuration' resource contains an attribute
+            ##      'nixos.module', itself a NixOS configuration module.
+            nixos.module =
+              { ... }:
+              {
+                imports = [
+                  config
+                  fediversity
+                ];
+              };
+          }
         ];
       };