My workflow settings in the Cloud: Zero to Hero to Boxen

Getting a new computer up to speed can take hours or even days. Finding the time to do so without cutting into your own productivity can be an issue.

I just got a new computer (Macbook Pro 13”, non-Retina) a few weeks ago, and had been keeping an exhaustive list of everything I did to it, thinking it’d be a helpful tool for anyone interested and my next computer. Making this list seemed like a painful but one-and-done process. That, however, was before we started using Boxen.

Our Lead Software Engineer, (my boss) set our engineering team up with Boxen, which is an amazing tool from Github that makes it easy to bring a new Mac up to speed. It uses Git and Puppet to automate the process of bringing any computer up to date with your personal settings. Once your team’s boxen is set up, all it takes is a curl call and a “boxen” command in the terminal. Not only does it pull in personal dotfiles and mac preferences (such as hot corners and dock location/size), it can also pull in and update git repos and native applications. Checkout the applications that boxen has available already (or grab the template and create your own).

So, right now, I can jump on any computer, set up boxen with a curl call, sign into github, and run “boxen.” This command will install the four or five repos I work with every day, my dotfiles (with tons of vim settings), and DropboxSparrow, Spotify, Sublime Text 2, Hipchat, iTerm2, and Google Chrome. That’s incredible.

After that, if you stay up to date with your boxen repo, your personal dotfiles repo, and you create puppet packages for all your applications (I need to add one for Evernote, for sure), you’ll be ready to jump to any new computer and get everything running in minutes. Your computer is waiting for you, wherever you go, in the cloud.

Now for my lame Zero-to-Hero list. Here are the highlights.

Applications: Chrome, Xcode (and the Command Line Tools), iTerm2 (with tmux), HipChat, Evernote, Dropbox, BetterSnapTool, Sublime Text 2Flux, and Spotify.

Via the terminal and then via homebrew: Homebrew, Node, npm, rvm, CoffeeScript.

For my vim, bash, and zsh plugins/configs, checkout my dotfiles here. Note that all credit for these so far is due to Chris Garvis and this post on StackOverflow. If you’re going to install a handful of vim plugins, remember to grab pathogen first. It’ll make your life much easier. I’ll get into a few of the plugins I love in a later post, but for now, for you front-end vim developers, checkout Zen-coding.

Happy Coding, code monkeys. And Happy St. Patrick’s Day!