I’ve seen people work deals either way. The one thing I would say is that if you go out and you buy stuff and have it ready for the contractor to install, they may possible say “Awwwwww, this isn’t quite the right size, or quite the right unit. I can maybe make it work, but it’s going to cost you extra ...”
Everybody wants to squeeze more money out of the deal any way they can. Be alert to the possibility and work out an understanding with the contractor so that neither party surprises the other party.
...or, if something fails after the installation, the contractor can claim you supplied inferior products.
Better to let the contractor do all the materials procurement and installation. Single source is best.