ManageIQ laptop setup using thoughtbot's repository


#1

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
./bin/build.sh

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
 mac-components/zsh-fix
 mac-components/homebrew
 mac-components/packages
+mac-components/miq-packages
 mac-components/start-services
-mac-components/rbenv
+mac-components/chruby
 mac-components/compiler-and-libraries
-common-components/ruby-environment
+common-components/ruby-environment-chruby
 mac-components/bundler
-common-components/default-gems
-mac-components/heroku
 mac-components/github
 mac-components/rcm
 common-components/personal-additions

See our fork here

You can clone this locally and do this on mac:

./bin/build.sh
bash mac.chruby

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