dirname: inputs@{ nixpkgs, functions, ...}: let
categories = functions.lib.importAll inputs dirname;
self = (builtins.foldl' (a: b: a // (if builtins.isAttrs b then b else { })) { } (builtins.attrValues (builtins.removeAttrs categories [ "setup-scripts" ]))) // categories;
in self // { __internal__ = nixpkgs.lib // { self = self; fun = functions.lib; }; }