@alexwforsythe's dotfiles

(for OS X and Linux)

Installation

Make sure the following command-line tools are installed:

Clone this repository:

mkdir ~/.config && cd ~/.config
git clone --recurse-submodules git@github.com/alexwforsythe/dotfiles

Run the installation script:

cd dotfiles
./install.sh

Manual Steps (for now):

Updating

Update this repository and all of its dependencies:

git pull --recurse-submodules

Rerun the installation script:

./install.sh

Contributing

The following dependencies are managed under modules/ by this repository's git submodules.

Updating submodules

  • Merge commits to the submodule repository's main branch

If the submodule is a fork:

  • Push the main branch to the origin remote

Otherwise:

  • Open a pull request to merge changes into the upstream remote

Updating forks

Some of the submodules are forks of popular tools such as prezto and vimrc. Occasionally, changes from the upstream repositories should be merged into the forked repositories so that the submodules have the latest features and bug fixes.

To pull upstream changes into any of these submodules:

# pull the latest changes from the forked repository first
git submodule update --init --recursive
cd modules/${submodule_dir}
# create a merge commit with the latest upstream changes
git pull --rebase=false ${upstream_remote} master
# resolve merge conflicts . . .
# push upstream changes to the forked repository
git push origin master

Plugins

Various tools and plugins are loaded in the following files:

  • zsh: modules/prezto/runcoms/zpreztorc
  • vim: vim/.vimrc
  • npm: npm/package.json
  • Homebrew (OS X): brew/Brewfile

Resources