I've seen this question popping out many times in the development community that how should be the best development environment looks like?
Well, your development environment setup is important because I think your development environment in general has a good amount of impact on your productivity.
In my experience, development environment varies from company to company & person to person because choices and reasons are always different. For example, at my office work station, I've Ubuntu to use whereas for my personal work station I've Macbook.
I've really a minimal setup with only useful software. Details which I'm going to mention about are from my personal workstation.
There are some other softwares which are not related to development but are good to have like: