diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
index c2b6049c..ddef1ad6 100644
--- a/oh-my-zsh.sh
+++ b/oh-my-zsh.sh
@@ -51,7 +51,7 @@ for plugin ($plugins); do
 done
 
 # Load all of your custom configurations from custom/
-for config_file ($ZSH_CUSTOM/*.zsh(.N)) source $config_file
+for config_file ($ZSH_CUSTOM/*.zsh(N)) source $config_file
 
 # Load the theme
 if [ "$ZSH_THEME" = "random" ]
diff --git a/plugins/jruby/jruby.plugin.zsh b/plugins/jruby/jruby.plugin.zsh
new file mode 100755
index 00000000..bb7975b1
--- /dev/null
+++ b/plugins/jruby/jruby.plugin.zsh
@@ -0,0 +1,4 @@
+# Aliases
+alias jrspec='jruby --debug -S rspec --debug'
+alias jprofile='jruby --profile.api -S rspec'
+alias jexec='jruby -S'
diff --git a/plugins/rbenv/rbenv.plugin.zsh b/plugins/rbenv/rbenv.plugin.zsh
index ae37404c..a62dd560 100644
--- a/plugins/rbenv/rbenv.plugin.zsh
+++ b/plugins/rbenv/rbenv.plugin.zsh
@@ -1,5 +1,18 @@
+_homebrew-installed() {
+  type brew &> /dev/null
+}
+
+_rbenv-from-homebrew-installed() {
+  brew --prefix rbenv &> /dev/null
+}
+
 FOUND_RBENV=0
-for rbenvdir in "$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv" ; do
+rbenvdirs=("$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv")
+if _homebrew-installed && _rbenv-from-homebrew-installed ; then
+    rbenvdirs=($(brew --prefix rbenv) "${rbenvdirs[@]}")
+fi
+
+for rbenvdir in "${rbenvdirs[@]}" ; do
   if [ -d $rbenvdir/bin -a $FOUND_RBENV -eq 0 ] ; then
     FOUND_RBENV=1
     export RBENV_ROOT=$rbenvdir
diff --git a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
index afdad1be..a93c8e86 100644
--- a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
+++ b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
@@ -10,11 +10,9 @@ for wrapsource in "/usr/local/bin/virtualenvwrapper.sh" "/etc/bash_completion.d/
       # by placing a .venv file in the project root with a virtualenv name in it
       function workon_cwd {
           # Check that this is a Git repo
-          GIT_DIR=`git rev-parse --git-dir 2> /dev/null`
+          PROJECT_ROOT=`git rev-parse --show-toplevel 2> /dev/null`
           if (( $? == 0 )); then
-              # Find the repo root and check for virtualenv name override
-              GIT_DIR=`readlink -f $GIT_DIR`
-              PROJECT_ROOT=`dirname "$GIT_DIR"`
+              # Check for virtualenv name override
               ENV_NAME=`basename "$PROJECT_ROOT"`
               if [[ -f "$PROJECT_ROOT/.venv" ]]; then
                   ENV_NAME=`cat "$PROJECT_ROOT/.venv"`
@@ -30,6 +28,7 @@ for wrapsource in "/usr/local/bin/virtualenvwrapper.sh" "/etc/bash_completion.d/
               # Note: this only happens if the virtualenv was activated automatically
               deactivate && unset CD_VIRTUAL_ENV
           fi
+          unset PROJECT_ROOT
       }
 
       # New cd function that does the virtualenv magic
diff --git a/plugins/yum/yum.plugin.zsh b/plugins/yum/yum.plugin.zsh
index c9966f1b..69abfc4c 100644
--- a/plugins/yum/yum.plugin.zsh
+++ b/plugins/yum/yum.plugin.zsh
@@ -5,7 +5,7 @@ alias yp="yum info"                         # show package info
 alias yl="yum list"                         # list packages
 alias ygl="yum grouplist"                   # list package groups
 alias yli="yum list installed"              # print all installed packages
-alias ymc="yum makecache                    # rebuilds the yum package list
+alias ymc="yum makecache"                   # rebuilds the yum package list
 
 alias yu="sudo yum update"                  # upgrate packages
 alias yi="sudo yum install"                 # install package
diff --git a/themes/nebirhos.zsh-theme b/themes/nebirhos.zsh-theme
index c5864d9b..a5a226b6 100644
--- a/themes/nebirhos.zsh-theme
+++ b/themes/nebirhos.zsh-theme
@@ -6,7 +6,7 @@ if [ -e ~/.rvm/bin/rvm-prompt ]; then
     RUBY_PROMPT_="%{$fg_bold[blue]%}rvm:(%{$fg[green]%}\$(~/.rvm/bin/rvm-prompt s i v g)%{$fg_bold[blue]%})%{$reset_color%} "
 else
   if which rbenv &> /dev/null; then
-    RUBY_PROMPT_="%{$fg_bold[blue]%}rvm:(%{$fg[green]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg_bold[blue]%})%{$reset_color%} "
+    RUBY_PROMPT_="%{$fg_bold[blue]%}rbenv:(%{$fg[green]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg_bold[blue]%})%{$reset_color%} "
   fi
 fi
 
diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme
index a2583b02..312229e9 100644
--- a/themes/steeef.zsh-theme
+++ b/themes/steeef.zsh-theme
@@ -81,7 +81,7 @@ add-zsh-hook chpwd steeef_chpwd
 function steeef_precmd {
     if [[ -n "$PR_GIT_UPDATE" ]] ; then
         # check for untracked files or updated submodules, since vcs_info doesn't
-        if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
+        if git ls-files --other --exclude-standard --directory 2> /dev/null | grep -q "."; then
             PR_GIT_UPDATE=1
             FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})"
         else
diff --git a/tools/install.sh b/tools/install.sh
index 8ca427d2..b080be3a 100755
--- a/tools/install.sh
+++ b/tools/install.sh
@@ -5,13 +5,10 @@ then
 fi
 
 echo "\033[0;34mCloning Oh My Zsh...\033[0m"
-which git > /dev/null
-if [[ $? -eq 0 ]]; then
-  /usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
-else
+hash git >/dev/null && /usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh || {
   echo "git not installed"
   exit
-fi
+}
 
 echo "\033[0;34mLooking for an existing zsh config...\033[0m"
 if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]