The suckiness of software installation

You know what sucks? Having to set up a new computer with all your favourite software and settings. You know what sucks even more? Setting up a tech team with a consistent and reliable development environment. It’s painful, error-prone and time-consuming.

Wouldn’t it be great if you could install everything you need with a single line of code? Well, you can***. With Chef.

Chef is an open-source automation platform for rapid provisioning and deployment of servers, and automated delivery of applications and services. Using cookbooks and recipes it allows you to model infrastructure as code, and deploy it to any platform. Chef is idempotent so you can build or rebuild as many times as you like without side effects.

Things you can install and configure with Chef Solo:

  • applications like Sublime Text, Chrome, Spotify, Dropbox, Skype
  • services like Git, MySQL, nginx, MongoDB, Memcached
  • configuration like custom dot files and keyboard shortcuts, and UI prefs like Dock appearance, hidden file and gesture settings

Chef normally uses a client-server structure. Clients request cookbooks from a centralized repository. But that sounds like a lot of effort. Chef Solo allows you to run Chef locally, storing complete cookbooks on the local disk. Even better, you can store all your recipes in version control so your team is always up-to-date.

A great example of Chef in use is by Pivotal Labs, a software development company. They’ve have been good enough to curate the recipes and cookbooks they use to provision Macs in-house and put them on GitHub. They’re extensive, up-to-date and unit-tested, so you can clone their repo and customize it with confidence.

***Except you can’t. You also need to install Xcode, which is a 2GB download. And no, since Mountain Lion you can’t just use Command Line Tools – not easily anyway – because of some silly things Apple is doing with xcrun. But after that it really is just one (long) line. Honest.

Restored from Internet Archive · Capture: Sat, 19 Sep 2015 19:40:44 GMT