forked from colonelpanic/dotfiles
100 lines
4.0 KiB
Markdown
100 lines
4.0 KiB
Markdown
# 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 && source bootstrap.sh
|
||
```
|
||
|
||
To update, `cd` into your local `dotfiles` repository and then:
|
||
|
||
```bash
|
||
source bootstrap.sh
|
||
```
|
||
|
||
Alternatively, to update while avoiding the confirmation prompt:
|
||
|
||
```bash
|
||
set -- -f; source bootstrap.sh
|
||
```
|
||
|
||
### 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/osx.html#hidden-preferences)
|
||
* [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) |