A question like this is very subjective. Everyone buys and uses what works best for them.
For me:
Primary development is done on a recent 13 inch Macbook Pro. I was a long time Windows user and since I switched almost 10 years ago, I haven't been able to go back. With the *bsd base system of OS X, it's hard to beat it. OS X isn't without it's flaws and I feel it's pretty flawed from a programmers point of view now a days, but it's my preferred machine / os.
I had a 15 inch Macbook Pro before and long story short, got the 13 about a year ago. Got the 15 fixed and gave it to the wife. Every time I go to use her 15, I'm amazed at how much heavier it is. If your don't need the bigger screen, the 13 MBP is nice.
The 13 is pretty light so I don't carry it in a laptop bag often, but when I do, I use a probably 6 year old now Oakley laptop bag. Best bag I've ever owned. Easily caries 3 laptops, network tools, etc... Plenty of padding to keep it safe on a plane or being dropped "by accident"
I recently got a 32 inch Dell IPS curved monitor - it's great but I hate being tied to a desk when working at home so it gets used when I have "serious, get this stuff done, right now" work to do.
I'm waiting on a standing desk to be delivered from https://www.autonomous.ai/desk (everything is on back order :( ) - Will probably use the IPS more when that comes.
I keep an iPad 3 retina around for testing; have an iPad Pro w/ Pencil for random mockups / testing and an Android tablet cause I got it for free. I also keep a few Windows laptops with Windows XP, 7 and 8 on them around for IE testing. I have a subscription to browserstack.com and it's good enough that I feel I won't refresh any of the PC laptops as they age.
I'm a fan of Sublime Text and Transmit for editor / sftp. Pixelmator and the like are great if your trying to save a buck or 2, but I prefer Adobe CC and use Photoshop / Illustrator often. Find someone with a student discount and save a bit on Adobe CC.
Mix of Dropbox and iCloud for storing files when I won't be near my Time Capsule and a subscription to Apple Music because what programmer works without music?!?
I carry an iPhone 6s because I think the plus is to big and an Apple Watch attempts to keep me distraction free. 'Been an iPhone user since day 1 so no chance of switching to Android for the sake of loosing everything I've purchased over the last decade. Both will get upgraded when new ones come out (YAY T-Mobile Jump On Demand!)
Lorefnon
Open Web Enthusiast
As far as machines are concerned the best advice I have to offer is to pick something where you can setup your stack and development environment in no time and find help for common issues in community. For example spending a several hours configuring an obscure linux distro may be a good intellectual exercise but would not contribute towards the ROI of your actual job/project (unless it involves system administration).
The specs of the system would largely depend on the stack you need to use. Something like 2.2 GHz + 16 Gig RAM would be adequate for typical web development projects with dynamic languages and medium-large codebases. Things like Graphic processing, etc. may require significantly more powerful machines for complex tasks.
In the same theme, it is advisable to spend some time familiarising yourself with tools that allow you to setup isolated development environments that you can quickly setup (through a script if required) and can be dispose without any impact on your base system. Vagrant and docker are great candidates, but there may be other good options as well.
Virtualization of dev environment would be the best way to go if the community around your stack does not actively endorse your primary operating system. For example given enough effort you can get a Rails application running on Windows but using a barebones linux OS in Vagrant is much easier option. Also your team might actually have automation scripts to configure such instances for your application(s) - if not consider adding them. Resorting to virtualization does incur more resource consumption - so it might be worth it to invest higher on RAM upfront. Docker on linux is a great option to have isolation without virtualization costs.
I am personally not very fond of multiple monitors as I find them distracting but multiple members of my team find them very convenient. If you use a linux workstation consider getting a tiling window manager if you find yourself productive with multiple monitors. i3 is something I have used in past and found it easy to configure - there may be other candidates as well. On OS X, it would be difficult to get proper tiling window management but utilities like Spectacle come in handy.
Even if there exist IDEs with great support for your language/framework getting familiar with atleast one programmers' text editor is strongly recommended. Sublime and Emacs are good candidates which let you get started quickly without going through a lot of learning curve upfront.
When editing user interfaces, I usually have a semi-transparent emacs running on top of a maximised chrome so as I keep making changes, the browser is auto-updated through livereload/hmr and in most cases I can just verify them by seeing through my editor without having to switch windows. When it becomes distracting I can toggle the transparency with a single keystroke.
Also version control is absolutely essential for any project that is not a throwaway one evening experiment. Git is the industry standard and developing basic familiarity is not very difficult - embrace it.
As far as services are considered, a git hosting service (Github is ubiquitous here) and a good CI service are the only ones that come to mind at this point. Travis is hassle-free, and works great for ruby & node. It is also free for open source code. The interface is elegant and minimal:
Do consider sharing your experience once you have finalised your setup.