This is my collection of dotfiles, preserved here for all to see and enjoy. Feel free to copy anything you see here. It would be nice if you added a comment mentioning where you got it.
My environment relies on
Clone the repository to a directory on your machine. I like to use
git clone https://github.com/erynofwales/dotfiles.git ~/.dotfiles
Run the setup script.
cd ~/.dotfiles ./setup.sh
This script will symlink all the config files in the directory to your home directory, clone a bunch of git repos, and do some other miscellaneous setup.
As much as possible, I tried to keep these files as system agnostic as possible. I work on lots of different systems so having the ability to bring down my core environment and customize it is very useful. Most of the environment files have three levels:
- The main file (e.g.
- A system specific file whose name is generated by the
uname -scommand. So, these files have names like
.env.linux. The system name is exported as
- A machine specific file whose name is derived by appending
.localto the main file's name (e.g.
Files 2 and 3 are sourced at the end of the main file, so any settings you add there will override those set in the main file.
In a recent change I added some extra functions to print out status
messages as ZSH starts up. These are all defined in
~/.shell-functions by the setup script). At any point in the
setup process, you can set the variable
$NOISY to a number greater than 0 to
see extra status messages.
Everything in this repository is licensed under the Creative Commons Attribution 3.0 Unported License.