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;