UPDATE: I've moved this code into my dotfiles repo as I continue to improve and update it.