# Mathias’s dotfiles ## Installation ### Using Git and the bootstrap script You can clone the repository wherever you want. (I like to keep it in `~/Projects/dotfiles`, with `~/dotfiles` as a symlink.) The bootstrapper script will pull in the latest version and copy the files to your home folder. ```bash git clone https://github.com/mathiasbynens/dotfiles.git && cd dotfiles && ./bootstrap.sh ``` To update, `cd` into your local `dotfiles` repository and then: ```bash ./bootstrap.sh ``` Alternatively, to update while avoiding the confirmation prompt: ```bash ./bootstrap.sh -f ``` ### Git-free install To install these dotfiles without Git: ```bash cd; curl -#L https://github.com/mathiasbynens/dotfiles/tarball/master | tar -xzv --strip-components 1 --exclude={README.md,bootstrap.sh} ``` To update later on, just run that command again. ### Specify the `$PATH` If `~/.path` exists, it will be sourced along with the other files, before any feature testing (such as [detecting which version of `ls` is being used](https://github.com/mathiasbynens/dotfiles/blob/aff769fd75225d8f2e481185a71d5e05b76002dc/.aliases#L21-26)) takes place. Here’s an example `~/.path` file that adds `~/utils` to the `$PATH`: ```bash export PATH="$HOME/utils:$PATH" ``` ### Add custom commands without creating a new fork If `~/.extra` exists, it will be sourced along with the other files. You can use this to add a few custom commands without the need to fork this entire repository, or to add commands you don’t want to commit to a public repository. My `~/.extra` looks something like this: ```bash # PATH additions export PATH="~/bin:$PATH" # Git credentials # Not in the repository, to prevent people from accidentally committing under my name GIT_AUTHOR_NAME="Mathias Bynens" GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME" git config --global user.name "$GIT_AUTHOR_NAME" GIT_AUTHOR_EMAIL="mathias@mailinator.com" GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL" git config --global user.email "$GIT_AUTHOR_EMAIL" ``` You could also use `~/.extra` to override settings, functions and aliases from my dotfiles repository. It’s probably better to [fork this repository](https://github.com/mathiasbynens/dotfiles/fork_select) instead, though. ### Sensible OS X defaults When setting up a new Mac, you may want to set some sensible OS X defaults: ```bash ./.osx ``` ### Install Homebrew formulae When setting up a new Mac, you may want to install some common Homebrew formulae (after installing Homebrew, of course): ```bash ./.brew ``` ## Feedback Suggestions/improvements [welcome](https://github.com/mathiasbynens/dotfiles/issues)! ## Thanks to… * [Gianni Chiappetta](http://gf3.ca/) for sharing his [amazing collection of dotfiles](https://github.com/gf3/dotfiles) * [Matijs Brinkhuis](http://hotfusion.nl/) and his [dotfiles repository](https://github.com/matijs/dotfiles) * [Jan Moesen](http://jan.moesen.nu/) and his [ancient `.bash_profile`](https://gist.github.com/1156154) + [shiny _tilde_ repository](https://github.com/janmoesen/tilde) * [Ben Alman](http://benalman.com/) and his [dotfiles repository](https://github.com/cowboy/dotfiles) * [Nicolas Gallagher](http://nicolasgallagher.com/) and his [dotfiles repository](https://github.com/necolas/dotfiles) * [Tom Ryder](http://blog.sanctum.geek.nz/) and his [dotfiles repository](https://github.com/tejr/dotfiles) * [Chris Gerke](http://www.randomsquared.com/) and his [tutorial on creating an OS X SOE master image](http://chris-gerke.blogspot.com/2012/04/mac-osx-soe-master-image-day-7.html) + [_Insta_ repository](https://github.com/cgerke/Insta) * @ptb and [his _OS X Lion Setup_ repository](https://github.com/ptb/Mac-OS-X-Lion-Setup) * [Lauri ‘Lri’ Ranta](http://lri.me/) for sharing [loads of hidden preferences](http://lri.me/hiddenpreferences.txt) * [Tim Esselens](http://devel.datif.be/) * anyone who [contributed a patch](https://github.com/mathiasbynens/dotfiles/contributors) or [made a helpful suggestion](https://github.com/mathiasbynens/dotfiles/issues)