{ lib }: importFn: baseDir: let dirEntries = builtins.attrNames ( lib.filterAttrs (k: v: v == "directory") (builtins.readDir baseDir) ); absDirs = builtins.map (dir: "${toString baseDir}/${dir}") dirEntries; imports = builtins.map (dir: { name = builtins.baseNameOf dir; value = importFn dir; }) absDirs; in builtins.listToAttrs imports