dotfiles + fresh + brew + cask + osx + docker
Shell Vim script Ruby JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Fresh Brew Cask Dotfiles


This dotfiles repository utilizes the following:

  • Freshshell (fresh) to maintain and generate dotfiles

    fresh is a tool to source shell configuration (aliases, functions, etc) from others into your own configuration files. It supports files such as ackrc and gitconfig. Think of it as Bundler for your dot files.

  • Homebrew (brew) for Mac command line tools automated installation

    Homebrew installs the stuff you need that Apple didn’t.

  • Homebrew Cask (brew cask) for Mac Native Apps automated installation

    Homebrew Cask extends Homebrew and brings its elegance, simplicity, and speed to OS X applications and large binaries alike. It only takes 1 line in your shell

Download or Clone

Freshshell instructions suggest, installing your dotfiles in '~/.dotfiles'. To download, choose one of the options below.

Download using curl (not git):

mkdir ~/.dotfiles; curl -#L | tar -xzv --strip-components 1 -C ~/.dotfiles


Download using git:

cd; git clone && mv dotfiles ~/.dotfiles


There are several options for installing part or all of what comes with this dotfiles repo. If you want to setup a new Mac, you might consider running the Full Install & Setup script. If you just need the dotfiles for a vagrant box or a linux environment, then you might consider running just the Dotfiles (fresh) Install & Setup script.

Now you need to decide whether you want to Full Install & Setup or setup individually:

Use Caution

As this repository relies heavily on the dotfiles created by others, it attempts to bring the best of theirs into this one but keeps them up to date by using fresh. Make sure you know what will be installed, setup and configured before executing these scripts.

Setup & Install

Now that you have the repo, it's time to setup and install the parts that you want. Install & setup whatever and however you like. Want to install them individually? Go ahead. Want to install them all? You are braver than I am Full Install. Want to install some? Well you can do that too. Here is how:

Suggested Install & Setup

Installs Homebrew(brew), Dotfiles(fresh) and Homebrew Casks (cask)

cd ~/.dotfiles && ./ brew fresh cask

Homebrew (brew) Install & Setup

cd ~/.dotfiles && ./ brew

Dotfiles (fresh) Install & Setup

cd ~/.dotfiles && ./ fresh

Terminal Colors

cd ~/.dotfiles && ./ terminal

Brew Casks (native apps) Install & Setup

cd ~/.dotfiles && ./ cask

Full Install & Setup

This script will execute all of the Individual Install Scripts in the order in which they appear.

cd ~/.dotfiles && ./

Extra commands and Private configurations

Add extra custom commands and private configuration without creating a new fork and without committing sensitive information to a public repo.

When running Dotfiles Fresh Setup, if ~/.dotfiles/.extra and ~/.dotfiles/.private do not exist, they will be created. You can use these files to add a few custom commands without the need to fork this entire repository and to add commands and configurations that you do not want to commit to a public repository. When fresh runs, it will source .extra and .private along with the other files. These files get sourced last so they override other configurations.

Example .extra or .private file:

# Git credentials
# Not in the repository,
# to prevent accidentally committing under the wrong name
git config --global "$GIT_AUTHOR_NAME"
git config --global "$GIT_AUTHOR_EMAIL"

Additionally, fresh will touch ~/.gitconfig.local which is used by your .gitconfig. You can place custom configurations here ~/.gitconfig.local (which is preferred, otherwise any time you fresh your global configurations are wiped out.)

	name =
	email =
	helper = osxkeychain

NOTE: These files are set to be ignored by git automatically for you.

If you find that your .extra file is getting large, you may want to fork this repository instead.

Known issues:

  • the requires the gnu version of readlink and even if is run before, it currently fails on mac because the $PATH does not yet have coreutils (with gnu readlink). The bash_profile can be sourced in the .freshrc as a temporary fix.


Suggestions/improvements welcome!

Thanks to...