My OS X dotfiles.
The installation step requires the XCode Command Line Tools and may overwrite existing dotfiles in your HOME.
$ bash -c "$(curl -fsSL raw.github.com/SiTaggart/dotfiles/main/bin/dotfiles)"
N.B. If you wish to fork this project and maintain your own dotfiles, you must
substitute my username for your own in the above command and the 2 variables
found at the top of the bin/dotfiles
script.
You should run the update when:
- You make a change to
~/.dotfiles/git/gitconfig
(the only file that is copied rather than symlinked). - You want to pull changes from the remote repository.
- You want to update Homebrew formulae and Node packages.
Run the dotfiles command:
$ dotfiles
Options:
-h , --help |
Help |
-l , --list |
List of additional applications to install |
--no-packages |
Suppress package updates |
--no-sync |
Suppress pulling from the remote repository |
Homebrew formulae:
- GNU core utilities
- git
- ack
- bash (latest version)
- bash-completion
- ffmpeg
- graphicsmagick
- jpeg
- node
- nvm
- optipng
- phantomjs
- rsync (latest version, rather than the out-dated OS X installation)
- tree
- wget
- Yarn
- zsh
- zsh-completion
Node packages:
Custom OS X settings can be applied during the dotfiles
process. They can
also be applied independently by running the following command:
$ osxdefaults
These dotfiles include a script that uses rsync
to incrementally back up your
data to an external, bootable clone of your computer's internal drive. First,
make sure that the value of DST
in the bin/backup
script matches the name
of your backup-drive. Then run the following command:
$ backup
For more information on how to setup your backup-drive, please read the preparatory steps in this post on creating a Mac OS X bootable backup drive.
Use Oceanic Next iTerm port, found here: https://github.com/mhartington/oceanic-next-iterm
This can be run with ZSH shell, running an external theme called PowerLevel9k. Ensure you install oh-my-zsh and the theme
to take advantage of the .zshrc
settings.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
Download the latest version of Hyper to take advantage of the .hyper.js settings
Any private and custom Bash commands and configuration should be placed in a
~/.bash_profile.local
file. This file will not be under version control or
committed to a public repository. If ~/.bash_profile.local
exists, it will be
sourced for inclusion in bash_profile
.
Here is an example ~/.bash_profile.local
:
# PATH exports
PATH=$PATH:~/.gem/ruby/1.8/bin
export PATH
# Git credentials
# Not under version control to prevent people from
# accidentally committing with your details
GIT_AUTHOR_NAME="Simon Taggart"
GIT_AUTHOR_EMAIL="[email protected]"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
# Set the credentials (modifies ~/.gitconfig)
git config --global user.name "$GIT_AUTHOR_NAME"
git config --global user.email "$GIT_AUTHOR_EMAIL"
# Aliases
alias code="cd ~/Code"
N.B. Because the git/gitconfig
file is copied to ~/.gitconfig
, any private
git configuration specified in ~/.bash_profile.local
will not be committed to
your dotfiles repository.
If your Homebrew installation is not in /usr/local
then you must prepend your
custom installation's bin
to the PATH in a file called ~/.dotfilesrc
:
# Add `brew` command's custom location to PATH
PATH="/opt/acme/bin:$PATH"
Inspiration and code was taken from many sources, including:
- @mathiasbynens (Mathias Bynens) https://github.com/mathiasbynens/dotfiles
- @tejr (Tom Ryder) https://github.com/tejr/dotfiles
- @gf3 (Gianni Chiappetta) https://github.com/gf3/dotfiles
- @cowboy (Ben Alman) https://github.com/cowboy/dotfiles
- @alrra (Cãtãlin Mariş) https://github.com/alrra/dotfiles