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
- It required that Ruby be installed—which was a pain on production servers where I never intended to have Ruby installed.
- It overwrote any existing dotfiles in
$HOME
without warning - 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:
- Github ❤ ~/
- Mathias Bynens’ Sensible Hacker Defaults for OSX
- gf3’s Sexy Bash Prompt
- Zach Holman’s Bootstrap script
- Addy Osmani’s Handy Aliases
- pengwynn’s There’s no place like ~/
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.