dotfiles
What is this?
Herein lies configuration files and scripts for installing them onto OSX (Apple Mac operating system).
Quick Start
On a fresh machine
sh install.sh
Just configuration
sh setup.sh
NOTE: setup.sh
assumes that install.sh
has run and completed
successfully.
Motivation
What started as a collection of application configuration files has morphed into a set of scripts for turning a clean machine into a customized software development environment. It's customized for my work, but could be adapted for you.
Concepts
These dotfiles have 2 phases:
- install phase
- setup phase
Install Phase
As you would expect, the install phase moves files around. It
installs then runs Homebrew (many times!), it downloads applications
and installs all the applications. The details of which applications
are installed are in the install/
directory. The subdirectories of
install/
indicate explicit order thus handling dependencies.
Setup Phase
The setup phase deals with configuration. It generates and sets up symlinks in the host filesystem for applications to access the configuration.
The configuration files (or the scripts that generate them) all exist within this git repo. Nothing new is downloaded or installed in this phase.
The setup phase scripts can be found in setup/
. Unlike the
install phase, this phase has no concept of order or dependencies.
It assumes that symlink'ing configuration files shouldn't depend on
any other.