Why not just use your development machine for development?
Also, why not use a remote server for deployment, testing, and building docker images? Most roles I have had offer such services (remote servers) as part of their costing so wouldn't cost you time, money, or effort.
I agree that having a single place to backup photos etc, is important. I use an external SSD for such a purpose as imo it's more useful to have it offline as I rarely add data and it is less likely to be comprised, e.g., it my machine was hacked.