I recently had to change laptops. On the positive side, that meant a shiny new laptop for me. On the negative side however, I was faced with the monotonous task of downloading and reinstalling all my usual applications.
As someone who chooses to run Windows but periodically finds himself dipping in and out of Linux, I have long been envious of the ease of installing software in Linux using apt-get or yum. If only there were a Windows equivalent I mused...
Then I remembered a Linux sysadmin friend of mine had mentioned to me the existence of Chocolatey, an open-source package manager for Windows. I was sceptical, assuming that setting this up would prove to be an arduous task and take me more time than just downloading and installing everything myself.
A quick glance at the documentation over at chocolatey.org though proved my scepticism to be unfounded. Installing Chocolatey is incredibly easy and on my vanilla install of Windows 10, required just two lines of powershell.
iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
That's it. You're up and ready to go. Now to install a package (e.g. Firefox), all you have to do is this.
choco install firefox -y
Then to uninstall the package, I can just run.
choco uninstall firefox -y
And if I wanted to upgrade all the packages I had installed via Chocolatey, I could do that with a single command too.
choco upgrade all -y
It really is that simple. As of today there are just over 4,000 packages in the community repository, but where this really gets interesting from a business point of view is the ability to host your own private repositories, and then use configuration management tools like Puppet, Chef or even SCCM to build on Chocolatey's simplicity and automate on a much larger scale.