From 03b9d66f3ded35fb697b53bc4a5d06b2366acdc1 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Mon, 6 Apr 2026 13:21:53 +0200 Subject: [PATCH] lib.systems.equals: use lib imports instead of builtins Use lib.filter and lib.attrNames instead of builtins.* directly, consistent with the rest of the file's style. Follow-up to #506588, incorporating review feedback from #507232. --- lib/systems/default.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/systems/default.nix b/lib/systems/default.nix index bc1efee548bb..eb06f12f25a0 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -3,11 +3,11 @@ let inherit (lib) any - filterAttrs + attrNames + filter foldl hasInfix isAttrs - isFunction isList mapAttrs optional @@ -43,9 +43,8 @@ let */ equals = let - # perf: avoid lib.isFunction because system attrs are never __functor-style attrsets. - removeFunctions = - a: removeAttrs a (builtins.filter (n: builtins.isFunction a.${n}) (builtins.attrNames a)); + # System attrs are never __functor-style attrsets, so builtins.isFunction suffices. + removeFunctions = a: removeAttrs a (filter (n: builtins.isFunction a.${n}) (attrNames a)); in a: b: removeFunctions a == removeFunctions b;