my zsh configuration, heavily based on oh-my-zsh