How do you add a layer of surface imperfection? (Dirt, mold, grime, etc)

Hi guys! I have a wall texture that I really like. But the problem is it’s too clean.

This is my node setup. What changes should I make to add some dirt and mold to it, complete with their own individual normal and specular maps?

I’d probably use a separate material. Although it would have “it’s own bump” you might want to blend in some of the original; i.e. a thin layer of topcoat would be more influenced by underlying bumps than a thick layer. I wouldn’t for rust though.

Once you have the individual materials you need to figure out an appropriate way to blend it with the original; contrasty blend in some places and more mixed blend in others, considering object normals (more dust upwards), edges and valley (curvature).

You could also consider baking and painting the mask by hand.