ManageIQ laptop setup using thoughtbot's repository

I recently setup my new Mac on Mavericks and didn’t want to do yet another install and document it… so I took an existing laptop setup script from thoughtbot and made a few changes for use with manageiq so the code can document it.

The laptop script has support for mac and linux although linux assumes a debian based system.

The script for Mac from thoughtbot:

  • Configures zsh as default shell
  • installs homebrew, postgres, redis, vim, ctags, tmux, openssl, some other packages I probably don’t need but it’s not a big deal to keep around

My changes were basically:

  • Used chruby instead of rbenv
  • Used ruby-install instead of ruby-build
  • Installed latest ruby 1.9.3, 2.0.0, and 2.1.2
  • Installed old bundler 1.3.5 in each ruby
  • Installed gcc 4.8 as per chruby documentation to be able to install old rubies
  • Install and start memcached and configured it to start at boot

The laptop script works by separating the various common and specific (linux/mac) components into files and listing those files in a manifest file for each where the manifest only contains the list of files relevant to the system.
You can then do:

build a single file you can execute to install the various packages

run the linux install script
bash linux

or run the mac install script
bash mac

Instead of modifying the mac script from thoughtbot, I created a new one for chruby, Manifest.mac.chruby by copying the Manifest.mac and adding and removing some files (remove rbenv, added chruby files)

diff --git a/Manifest.mac b/Manifest.mac.chruby
index bc962ae..9f99dff 100644
--- a/Manifest.mac
+++ b/Manifest.mac.chruby
@@ -7,13 +7,12 @@ common-components/zsh

See our fork here

You can clone this locally and do this on mac:

bash mac.chruby

Note, I did this on mavericks. I’m not sure how well it works with older OSX’s.