From f3c81f50954aad2c3d3bb33997e2f8d86bf9f3b2 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Wed, 14 May 2025 17:03:23 +0200 Subject: [PATCH 1/2] feat(clanModules): add deprecation feature that generates a warning if the module is used --- clanModules/admin/roles/default.nix | 8 -------- lib/inventory/build-inventory/builder/default.nix | 12 ++++++++++++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/clanModules/admin/roles/default.nix b/clanModules/admin/roles/default.nix index cc236459b..c799b6066 100644 --- a/clanModules/admin/roles/default.nix +++ b/clanModules/admin/roles/default.nix @@ -18,14 +18,6 @@ ../../root-password ]; config = { - - warnings = [ - '' - The admin module has been migrated from `clan.services` to `clan.instances` - See https://docs.clan.lol/manual/distributed-services for usage. - '' - ]; - users.users.root.openssh.authorizedKeys.keys = builtins.attrValues config.clan.admin.allowedKeys; }; } diff --git a/lib/inventory/build-inventory/builder/default.nix b/lib/inventory/build-inventory/builder/default.nix index 18b7bc22d..36177e917 100644 --- a/lib/inventory/build-inventory/builder/default.nix +++ b/lib/inventory/build-inventory/builder/default.nix @@ -107,12 +107,24 @@ let extraModules = map (s: if builtins.typeOf s == "string" then "${directory}/${s}" else s) ( globalExtraModules ++ machineExtraModules ++ roleServiceExtraModules ); + + features = + (clanLib.modules.getFrontmatter inventory.modules.${serviceName} serviceName).features or [ ]; + deprecationWarning = lib.optionalAttrs (builtins.elem "deprecated" features) { + warnings = [ + '' + The '${serviceName}' module has been migrated from `inventory.services` to `inventory.instances` + See https://docs.clan.lol/manual/distributed-services/ for usage. + '' + ]; + }; in if !(serviceConfig.enabled or true) then acc2 else if isInService then acc2 ++ [ + deprecationWarning { imports = roleModules ++ extraModules; clan.inventory.services.${serviceName}.${instanceName} = { From aadc9082fc94d09f03ae61817c86e912698a89c5 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Wed, 14 May 2025 17:08:17 +0200 Subject: [PATCH 2/2] clanModules/wifi: deprecate in favor of inventory.instances --- clanModules/wifi/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clanModules/wifi/README.md b/clanModules/wifi/README.md index 2b96f0346..63704215e 100644 --- a/clanModules/wifi/README.md +++ b/clanModules/wifi/README.md @@ -1,6 +1,6 @@ --- description = "Configures Wifi networks to join" -features = [ "inventory", "experimental" ] +features = [ "inventory", "experimental", "deprecated" ] categories = [ "Network", "System" ] ---