{ lib, inputs, pkgs-unstable, ... }: let inherit (builtins) attrNames filter readDir; dirs = let files = readDir ./.; in filter (name: files."${name}" == "directory") (attrNames files); util = import ./util.nix; in lib.composeManyExtensions ( map ( dir: import ./${dir} { util = util dir; inherit inputs lib pkgs-unstable; } ) dirs )