So as it happens every so often, I have to setup a new MacBook Pro for developing Big Data apps with Scala and Java.
I always think I have everything, then I forget some cool utilities, SQL environments and more. Like I probably want Redis Desktop, MongoDB Compass, Screen capture tools, monitoring, security, ClamAV, bandwidth monitoring, hardware monitoring and a bunch of SQL Tools like TOAD. After a while I realize I should install on a 1TB external USB 3 drive. Maybe I can pair this down a bit? I am asking the collective intelligence here at DZone, what's on your laptop? What would you put on a new one? What don't you really need or use that much. Something I can use the cloud version like Postman and a bunch of nice IDEs.
Do you do everything through HomeBrew? Or MacPorts? Or Fink? I have mostly used Brew and that has worked out pretty well for most cases. Those once and a while their will be some Ruby issues or weird version things. Pivotal has some great casks.
SDKMan has a ton of cool stuff too. Before you know it you have multiple package managers, maven repositories, RVM, NPM, gems, plus who knows what else. Some tools have portable vs installed versions. What do you do when you want multiple versions (JDK 7, JDK 8)? It gets unmanageable quickly and then you want to keep machines the same across multiple developers. I know some people do Vagrant, some a custom VM, some Puppet, some Chef and some Dockers. All of them have their pros and cons, but any of those seem better than hand installing all these different versions and tools. Do you do Scala 2.10 or 2.11? Or Typesafe activator version? Sometimes I'll download all three and use one versus another for different projects.
My Minimum List
Gradle (or through SDKMan)