indent-with-non-tab
Don’t use `indent-with-non-tab`. This config flag is PERNICIOUS. If turned on, Git won’t tell you that you indented your code incorrectly. Instead, when it is pushing your changes to your remote repo, Git will silently convert any consecutive 8-space strings it sees into tab characters. This can be highly undesirable, especially if you collaborate with a team that expects the code to be indented using spaces instead of tabs. At the very least, the comment above this line should very clearly explain the fact that `indent-with-non-tab` does more than advertised in the `git-config man page (https://www.kernel.org/pub/software/scm/git/docs/git-config.html). Closes #351.
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.
git clone https://github.com/mathiasbynens/dotfiles.git && cd dotfiles && source bootstrap.sh
To update, cd into your local dotfiles repository and then:
source bootstrap.sh
Alternatively, to update while avoiding the confirmation prompt:
set -- -f; source bootstrap.sh
Git-free install
To install these dotfiles without Git:
cd; curl -#L https://github.com/mathiasbynens/dotfiles/tarball/master | tar -xzv --strip-components 1 --exclude={README.md,bootstrap.sh,LICENSE-MIT.txt}
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) takes place.
Here’s an example ~/.path file that adds ~/utils to the $PATH:
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:
# 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 instead, though.
Sensible OS X defaults
When setting up a new Mac, you may want to set some sensible OS X defaults:
./.osx
Install Homebrew formulae
When setting up a new Mac, you may want to install some common Homebrew formulae (after installing Homebrew, of course):
brew bundle ~/Brewfile
Install native apps with brew cask
You could also install native apps with brew cask:
./.cask
Feedback
Suggestions/improvements welcome!
Author
| Mathias Bynens |
Thanks to…
-
@ptb and his OS X Lion Setup repository
-
Ben Alman and his dotfiles repository
-
Chris Gerke and his tutorial on creating an OS X SOE master image + Insta repository
-
Cãtãlin Mariş and his dotfiles repository
-
Gianni Chiappetta for sharing his amazing collection of dotfiles
-
Jan Moesen and his ancient
.bash_profile+ shiny tilde repository -
Lauri ‘Lri’ Ranta for sharing loads of hidden preferences
-
Matijs Brinkhuis and his dotfiles repository
-
Nicolas Gallagher and his dotfiles repository
-
Tom Ryder and his dotfiles repository
-
Kevin Suttle and his dotfiles repository and OSXDefaults project, which aims to provide better documentation for
~/.osx -
anyone who contributed a patch or made a helpful suggestion