dotfiles icon indicating copy to clipboard operation
dotfiles copied to clipboard

My config files on macOS (also works on Linux, but with limited testing).

This repository contains most of my vital config files.

Table of contents

  • Getting started
  • XDG offenders
  • License

Getting started

git clone --recursive [email protected]:zmwangx/dotfiles.git ~/.config
# create data/cache directories and link some dotfiles or dot directories to HOME
~/.config/setup

If ~/.config already exists and is nonempty, then one should instead run the following:

cd ~/.config
git init
git remote add origin [email protected]:zmwangx/dotfiles.git
git fetch --all
git reset --hard origin/master
git submodule update --init --recursive
~/.config/setup

To provision a new OS X install, do ~/.config/provision instead (requires Xcode and CLT). Note that provision supports various options; please refer to ~/.config/provision --help.

Warning. I haven't gone through the provision process for a long time, so the provision script might be outdated.

Also, source ~/.config/env should go into .bashrc, .zshenv (done for you when you run ~/.config/setup, which sets up .bashrc and .zshenv in your home directory), and its equivalent should go into the runcoms of other noninteractive (POSIX-compatible) shells.

Note that config files with credentials have been excluded from the directory, and their .template counterparts have been committed in instead. Replace the redacted credentials (generally in the form XXXXXX) with the actual values.

XDG offenders

You are invited to visit the Homedir Hall of Shame (HALLOFSHAME.md).

License

First party code in this repository is licensed under the MIT License (see LICENSE for details). Third party code in submodules may be separately licensed, and please refer to individual submodules or files for details.