dotfiles

my personal dotfiles setup

3 years after

Ed's personal dotfiles

Based on Ricky's dotfiles which are based on Mathias’s dotfiles

Notes

  • Occasionally I sync Ricky's files with my own by fetching his repo as the upstream

Changes

  • Moved auto completion scripts into .completions file
  • Init folder holds scripts meant to be run once to set defaults or installing basic utilities
  • Removed some scripts I was not using

Installation

Using Git and the bootstrap script

You can clone the repository wherever you want. (I like to keep it ~/dotfiles.) The bootstrapper script will pull in the latest version and copy the files to your home folder.

git clone https://github.com/rickyah/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/rickyah/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) 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:

# 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="[email protected]"
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:

./.macos

Install Homebrew formulae

When setting up a new Mac, you may want to install some common Homebrew formulae (after installing Homebrew, of course):

./.brew

Feedback

Suggestions/improvements welcome!

Thanks to…

Related Repositories

awesome-dotfiles

awesome-dotfiles

A curated list of dotfiles resources. ...

dotfiles.old

dotfiles.old

My OS X / Ubuntu dotfiles. ...


Top Contributors

ginfuru mathiasbynens rickyah sp-ricardo-amores porada user996015 matijs alrra paulirish pkruithof sjonnet19 sindresorhus richo hongymagic jpsirois danawoodman dmiedema KeyboardCowboy gburtini nimbling janmoesen clee jessejlt jfmercer jrk kevinlawler kitcambridge eins78 nvartolomei necolas