A template for myrepos and vcsh.
For a detailed explanation see: Conquer your dotfiles with VCSH and MR.
master
branch for README and stuff that won't end up in your$HOME
.mr
branch for the configuration of myrepos.- all other branches for your applications and their dotfiles.
.
├── .config
│ └── mr
│ ├── available.d
│ │ └── mr.vcsh
│ └── config.d
│ └── mr.vcsh -> ../available.d/mr.vcsh
└── .mrconfig
The contents of this branch can be summarized as follows:
.mrconfig
: the entrypoint configuration file for mr,.config/mr/available.d/
: repository definitions for your applications,.config/mr/config.d/
: repository definitions active in the current system. Contains symlinks toavailable.d/
.
- Fork this repo
- Add a repository definition to
./config/mr/available.d/
in themr
branch. - Symlink it to
config.d
if you want it to be activated by default. - Create a new branch with
git checkout -b your_app init
. - Add your dotfiles
- Push
Clone the mr branch with vcsh:
$ vcsh clone -b mr https://example.com/your-fork mr
Enable/disable the repository definitions that you want on the system:
$ cd .config/mr
$ ln -s ../available.d/i3.vcsh config.d/
Checkout everything with mr:
$ mr checkout