mattkime / dotfiles

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Commit Your Dotfiles

This is a template to help back up dotfiles to a github repo. Fork, judiciously copy dotfiles into the project, commit, and push.

Why I made this

I came across https://github.com/mathiasbynens/dotfiles and said "damn, that looks great!" so i installed it and immediately lost control of my computer. I vowed to never bulk install dotfiles again.

I started cobbling together my own dotfiles, adding cool features to my development environment. Life is good... until I use another machine. I needed a way to keep my dotfiles in sync across multiple machines. After some poking around I realized that https://github.com/mathiasbynens/dotfiles had what i needed if i removed all the dotfiles and added my own.

Add your own dotfiles as you would with files for any other git project.

Install your dotfiles by cd'ing to your dotfiles directory and then 'source bootstrap.sh' - this will copy the dotfiles from the project and into your home directory.

Alternatively, to update while avoiding the confirmation prompt:

set -- -f; source bootstrap.sh

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:

brew bundle ~/Caskfile

Feedback

Suggestions/improvements welcome!

Author

twitter/mathias
Mathias Bynens

Thanks to…

About

License:Other


Languages

Language:Vim Script 84.3%Language:Shell 15.7%