The dots-cli
is a tool for quickly installing and linking groups of dotfiles across computers. In
short, it allows you to do the following:
- Quickly add remote "dots" (a git repo of dotfiles) to your computer's
~/.dots
directory. - Use a
Dot.toml
to specify where you want your dotfiles to be linked. - Link multiple "dots" in one go and get a report of any conflicts that might happen.
First, you'll need to make sure you have cargo
installed. Visit their Installation Guide and
follow their instructions. Once you have cargo
installed, run the following to install the dots-cli
:
cargo install dots
Then, create a git repo with a Dot.toml
at it's root that describes where files in that repo
should be linked. A simple Dot.toml
might looks something like this:
[package]
name = "webdesserts"
authors = [ "Michael Mullins" ]
[link]
"~/.bashrc" = "bash/bashrc"
"~/.bash_profile" = "bash/bash_profile"
In the above example "bash/bashrc" and "bash/bash_profile" would be files that live in the "bash"
directory of your git repo. You can use the install
command to download your repo and link
everything to the desired location.
dots install git@github.com:webdesserts/dot.git
You can run dots help
to see more commands. Feel free to check out my own dot for a better
idea of what you can do with one.
At this point the cli is getting close to where I want it to be for a v1.x release. Most of what's left is polish, testing and usability improvements. One issue that's still outstanding is that if an install fails half-way, it does not safely recover your previous configuration. I have some ideas on how to solve this, but this will probably take some time to implement. If you find any other issues or if you have any suggestions, please feel free to file an issue.