based on hukl's dotfiles