{ pkgs , lib , config , ... }: let # list paths pkgs-paths-list = lib.fileset.toList (lib.fileset.fromSource (lib.sources.sourceFilesBySuffices ./. [ ".nix" ])); # no default.nix filtered-paths-list = builtins.filter (path: builtins.baseNameOf path != "default.nix") pkgs-paths-list; # filename-extension parsed out pkgs-paths = builtins.map (path: { name = lib.strings.removeSuffix ".nix" (builtins.baseNameOf path); path = path; }) filtered-paths-list; # import each path imported-pkgs = lib.attrsets.mergeAttrsList (builtins.map (pkg: { "${pkg.name}" = pkgs.callPackage pkg.path { }; }) pkgs-paths); in imported-pkgs