That's a good build for me but for 580 bucks I think you can get more
I tried to search for the prices of these stuff manually didn't use any picker website though here are the list that came into my mind.
MOBO: Asus ROG Strix B450-F Gaming (ATX) Ryzen 2 - $119.99 Amazon
PROCESSOR: Ryzen 5 2600x with Wraith Spire Cooler - $149 Amazon
GPU: (there are alternatives)
GTX 1650 EVGA XC - $159.99 Amazon
RX 580 8gb XFX Radeon - $189.99 Amazon
For my opinion you can go with the cheapest one or get this cards this cards will do you good.
for me I would choose a mid-range MOBO so that you can still upgrade and do much with B450 or B350 series you can upgrade their bios to support Ryzen 3rd gen so at least if you plan to upgrade you don't need to buy new motherboard, I've seen a lot of users updated their bios and even MSI released their own updated BIOS so that they can use Ryzen 3rd gen.
I think you can just utilize 2nd hand GPU if you want to get cheaper however make sure that it is not abused or being used for mining and look if you can get a personal warranty for the GPU.