/dotfiles

my env configs

Primary LanguageShellGNU General Public License v3.0GPL-3.0

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.