/dotfiles

.files, including ~/.osx — sensible hacker defaults for OS X

Primary LanguageVim ScriptMIT LicenseMIT

Andy's Dev Environment

Installation

You can clone the repository wherever you want. (I like to keep it in ~/Projects/dotfiles. The rsync-dotfiles script will synchronize the dotfiles directory into $HOME (minus a few administrive files like README.md etc).

# clone and sync the repo
git clone https://github.com/cddr/dotfiles.git ~/.dotfiles && \
  ~/.dotfiles/bin/rsync-dotfiles

# setup osx the way I like it
./.osx

# install your toolbox
./toolbox.sh

After updating

rsync-dotfiles

Note that if you have any long-running processes (e.g. Emacs, Chrome etc), they will need to be re-started to pick up the new environment unless the applications themselves watch the files that they are interested in to listen for changes

Specify the $PATH

If ~/.path exists, it will be sourced along with the other files, before any feature testing. This is intended to be used to setup the PATH variable according to local requirements.

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="Andy Chambers"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
git config --global user.name "$GIT_AUTHOR_NAME"
GIT_AUTHOR_EMAIL="[my email]"
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 Developer Toolbox

When setting up a new Mac, you may want to install some common developer tools (e.g. a range of browsers, 1password, xcode command line tools etc)

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
./brew.sh

Feedback

Suggestions/improvements welcome!

Thanks to…