{ lib, ... }: { nixpkgs.overlays = [ (final: prev: builtins.listToAttrs (map (pkg: { name = pkg; value = let argsPath = ./${pkg}/args.nix; in final.callPackage ./${pkg} (if (builtins.pathExists argsPath) then (import argsPath final) else { }); }) (builtins.attrNames (builtins.readDir ./.))) ) ]; }