From bfb30251e6a86d25ff9e91a46c053c8106028885 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Mon, 27 Oct 2025 14:00:46 +0100 Subject: [PATCH] lib: replace uniqueStrings after upstreamed --- clanServices/sshd/default.nix | 3 +-- clanServices/zerotier/default.nix | 5 +---- lib/inventory/distributed-service/service-module.nix | 6 +----- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/clanServices/sshd/default.nix b/clanServices/sshd/default.nix index e49cd3bc8..1c511e0fc 100644 --- a/clanServices/sshd/default.nix +++ b/clanServices/sshd/default.nix @@ -39,7 +39,6 @@ ... }: let - uniqueStrings = list: builtins.attrNames (builtins.groupBy lib.id list); # Collect searchDomains from all servers in this instance allServerSearchDomains = lib.flatten ( lib.mapAttrsToList (_name: machineConfig: machineConfig.settings.certificate.searchDomains or [ ]) ( @@ -47,7 +46,7 @@ ) ); # Merge client's searchDomains with all servers' searchDomains - searchDomains = uniqueStrings (settings.certificate.searchDomains ++ allServerSearchDomains); + searchDomains = lib.uniqueStrings (settings.certificate.searchDomains ++ allServerSearchDomains); in { clan.core.vars.generators.openssh-ca = lib.mkIf (searchDomains != [ ]) { diff --git a/clanServices/zerotier/default.nix b/clanServices/zerotier/default.nix index 770023f4b..a74c8a41f 100644 --- a/clanServices/zerotier/default.nix +++ b/clanServices/zerotier/default.nix @@ -140,9 +140,6 @@ pkgs, ... }: - let - uniqueStrings = list: builtins.attrNames (builtins.groupBy lib.id list); - in { imports = [ (import ./shared.nix { @@ -159,7 +156,7 @@ config = { systemd.services.zerotier-inventory-autoaccept = let - machines = uniqueStrings ( + machines = lib.uniqueStrings ( (lib.optionals (roles ? moon) (lib.attrNames roles.moon.machines)) ++ (lib.optionals (roles ? controller) (lib.attrNames roles.controller.machines)) ++ (lib.optionals (roles ? peer) (lib.attrNames roles.peer.machines)) diff --git a/lib/inventory/distributed-service/service-module.nix b/lib/inventory/distributed-service/service-module.nix index 4438aafad..637a2df5f 100644 --- a/lib/inventory/distributed-service/service-module.nix +++ b/lib/inventory/distributed-service/service-module.nix @@ -7,14 +7,10 @@ ... }: let - inherit (lib) mkOption types; + inherit (lib) mkOption types uniqueStrings; inherit (types) attrsWith submoduleWith; errorContext = "Error context: ${lib.concatStringsSep "." _ctx}"; - # TODO: - # Remove once this gets merged upstream; performs in O(n*log(n) instead of O(n^2)) - # https://github.com/NixOS/nixpkgs/pull/355616/files - uniqueStrings = list: builtins.attrNames (builtins.groupBy lib.id list); /** Merges the role- and machine-settings using the role interface