This project started out life as a fork of Zach Holman's dotfiles project. It's well worth reading Zach's blog post on the subject.
Everything's built around topic areas. If you add a new top dir anything with an extension of .zsh
will get automatically
included into your shell. Anything with an extension of .symlink
will get symlinked without extension into $HOME
when you run script/bootstrap
.
There's a few special files in the hierarchy.
- bin/: Anything in
bin/
will get added to your$PATH
and be made available everywhere. - Brewfile: This is a list of applications for Homebrew Cask to install: things like Chrome and stuff. Might want to edit this file before running any initial setup.
- topic/*.zsh: Any files ending in
.zsh
get loaded into your environment. - topic/path.zsh: Any file named
path.zsh
is loaded first and is expected to setup$PATH
or similar. - 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 runscript/bootstrap
.
Run this:
git clone https://github.com/holman/dotfiles.git ~/.dotfiles
cd ~/.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 that'll be different on your particular machine.
dot-refresh
is a simple script that installs some dependencies, sets sane OS X
defaults, and so on. Tweak this script, and occasionally run dot-refresh
from
time to time to keep your environment fresh and up-to-date. You can find
this script in bin/
.