Earlier today I made a tweak to one of my ever-growing collection of dotfiles and it reminded me that I’m not too happy with my dotfile’s bootstrap script.

The bootstrap file that I have in my repo is from a 2008 blog post and I’ve never been too thrilled with it.

The problems my old boostrap were

  1. It required that Ruby be installed—which was a pain on production servers where I never intended to have Ruby installed.
  2. It overwrote any existing dotfiles in $HOME without warning
  3. It added every sub-directory/file in the .dotfiles directory—you couldn’t add a README.md file without it being symlinked in the $HOME directory as .README.md—silly, right?!

Long story short—I needed a new bootstrap file. I’m a big believer in not reinventing the wheel, so I went looking for the canonical example of the dotfile bootstrap file.

I started perusing dotfile repos on github—which is always exciting to me (because I’m super nerdy) and there are some amazing dotfile resources on github:

Seeing all of this got me to thinking—wouldn’t it be great if there were a project that amalgamated all of this fun stuff? Like HTML5 Boilerplate for dotfiles.

The project will keep canonical examples of files like the bootstrap script. It would also keep an opinionated list of functions, aliases and configurations that could help beginners get a great start and normalize dotfile distribution in the same way that pathogen normalized vim plugins into bundles.

Dotfile Boilerplate

So there’s the starting point: Dotfile Boilerplate

At the very least it’s a solidly structured start with an amazing bootstrap script that I modfied based off of Zach Holman’s setup.

So that’s the whole idea—the hope is that this repository can grow and collect great ideas, functions, and well-considered dotfiles from interesting discussions and people around the internet.

Beginners will have an amazing starting point and advanced users will have a wellspring of ideas.

Fork ‘em if ya got ‘em.