From 3c4b3e180ea0ca1245c6db368e4b7f819a1b8706 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Mon, 13 Oct 2025 09:44:58 +0200 Subject: [PATCH 1/2] facts: add bigger migration warnings --- nixosModules/clanCore/facts/compat.nix | 26 ++++++++++++++++++------- nixosModules/clanCore/facts/default.nix | 12 +++++++++++- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/nixosModules/clanCore/facts/compat.nix b/nixosModules/clanCore/facts/compat.nix index 02f1bad83..58a6b6ab1 100644 --- a/nixosModules/clanCore/facts/compat.nix +++ b/nixosModules/clanCore/facts/compat.nix @@ -164,13 +164,25 @@ config = lib.mkIf (config.clan.core.secrets != { }) { clan.core.facts.services = lib.mapAttrs' ( name: service: - lib.warn "clan.core.secrets.${name} is deprecated, use clan.core.facts.services.${name} instead" ( - lib.nameValuePair name ({ - secret = service.secrets; - public = service.facts; - generator = service.generator; - }) - ) + lib.warn + '' + ############################################################################### + # # + # clan.core.secrets.${name} clan.core.facts.services.${name} is deprecated # + # in favor of "vars" # + # # + # Refer to https://docs.clan.lol/guides/migrations/migration-facts-vars/ # + # for migration instructions. # + # # + ############################################################################### + '' + ( + lib.nameValuePair name ({ + secret = service.secrets; + public = service.facts; + generator = service.generator; + }) + ) ) config.clan.core.secrets; }; } diff --git a/nixosModules/clanCore/facts/default.nix b/nixosModules/clanCore/facts/default.nix index 0a1798c31..2b8800510 100644 --- a/nixosModules/clanCore/facts/default.nix +++ b/nixosModules/clanCore/facts/default.nix @@ -6,7 +6,17 @@ }: { config.warnings = lib.optionals (config.clan.core.facts.services != { }) [ - "Facts are deprecated, please migrate them to vars instead, see: https://docs.clan.lol/guides/migrations/migration-facts-vars/" + '' + ############################################################################### + # # + # Facts are deprecated please migrate any usages to vars instead # + # # + # # + # Refer to https://docs.clan.lol/guides/migrations/migration-facts-vars/ # + # for migration instructions. # + # # + ############################################################################### + '' ]; options.clan.core.facts = { From 1c3282bb63b181e5b1aa37473fbd45794bb80f32 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Mon, 13 Oct 2025 10:05:15 +0200 Subject: [PATCH 2/2] vars: simplify collectFiles --- .../vars/secret/sops/collectFiles.nix | 50 +++++++++---------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/nixosModules/clanCore/vars/secret/sops/collectFiles.nix b/nixosModules/clanCore/vars/secret/sops/collectFiles.nix index c6cbe0550..697c59861 100644 --- a/nixosModules/clanCore/vars/secret/sops/collectFiles.nix +++ b/nixosModules/clanCore/vars/secret/sops/collectFiles.nix @@ -5,33 +5,31 @@ let inherit (lib) filterAttrs - flatten mapAttrsToList ; -in -generators: -let - relevantFiles = - generator: - filterAttrs ( - _name: f: f.secret && f.deploy && (f.neededFor == "users" || f.neededFor == "services") - ) generator.files; - allFiles = flatten ( - mapAttrsToList ( - gen_name: generator: - mapAttrsToList (fname: file: { - name = fname; - generator = gen_name; - neededForUsers = file.neededFor == "users"; - inherit (generator) share; - inherit (file) - owner - group - mode - restartUnits - ; - }) (relevantFiles generator) - ) generators + + relevantFiles = filterAttrs ( + _name: f: f.secret && f.deploy && (f.neededFor == "users" || f.neededFor == "services") ); + + collectFiles = + generators: + builtins.concatLists ( + mapAttrsToList ( + gen_name: generator: + mapAttrsToList (fname: file: { + name = fname; + generator = gen_name; + neededForUsers = file.neededFor == "users"; + inherit (generator) share; + inherit (file) + owner + group + mode + restartUnits + ; + }) (relevantFiles generator.files) + ) generators + ); in -allFiles +collectFiles