No description, website, or topics provided.
Vim script Shell Smarty
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Originally forked from Holman Does Dotfiles, many years ago. Changed considerably since.


These dotfiles would typically be installed as part of my "setup machine" scripts. If you'd like to install them separately, crack open a Terminal window, and type the following:

git clone ~/.dotfiles
bash ~/.dotfiles/script/bootstrap

This will symlink the appropriate files in .dotfiles to your home directory. Everything is configured and tweaked within ~/.dotfiles.

The main file you'll want to change right off the bat is zsh/zshrc.symlink, which sets up a few paths which will probably differ on your machine. The system/aliases.zsh file also contains a code alias which you may wish to change.


As a general rule of thumb, these dotfiles should be used for configuration, not installation (that's the job of the "setup" scripts).

Everything is built around topic areas. If you want to add some handy MySQL aliases, for example, add a mysql directory, and put your files in there.

Anything with an extension of .zsh will be automatically included in your shell. Anything with an extension of .symlink will be symlinked without an extension into $HOME when you run script/bootstrap.

The bootstrap script

The bootstrap script works as follows:

  • bin/: Anything in bin/ will get added to your $PATH and be made available everywhere.
  • <topic>/path.zsh: Any file named path.zsh is loaded first and is expected to modify the $PATH.
  • <topic>/\*.zsh: Any files ending in .zsh are loaded into your environment.
  • <topic>/completion.zsh: Any file named completion.zsh is loaded last and is expected to setup autocomplete.
  • <topic>/\*.symlink: Any files ending in .symlink get symlinked into your $HOME. This is so you can keep all of those versioned in your dotfiles but still keep those autoloaded files in your home directory. These get symlinked in when you run script/bootstrap.