Clone this repository and run the sync script.
mkdir ~/Developer && cd ~/Developer && \
git clone https://github.com/pradyunsg/dotfiles.git && cd dotfiles && \
scripts/sync
This follows a topical layout (taking inspiration from @holman's dotfiles) where each topic is a directory containing related files. The home directory's files are symlinks to the actual files in this repository's clone.
This repository's is managed as a symlink farm, with the logic for managing the farm living in scripts/sync
.
This setup uses a ~/.dotfiles.toml
file for determining what files need to be brought over. This is intended to be customizable.
You can add an additional repository by name, by adding another entry to the [repositories]
table in the ~/.dotfiles.toml
file.
[repositories]
personal = "/Users/pradyunsg/dotfiles"
work = "/Users/pradyunsg/work-dotfiles"
If two repositories provide the same dotfile, you can set up an override using the [[conflicts]]
array of tables.
[[conflicts]]
file = ".bashrc"
use = "work"
[[conflicts]]
file = ".zshrc"
use = "personal"
The contents of this repository are licensed under the GPL v3 license.