/dots-cli

A cli for managing all your dot(file)s

Primary LanguageRust

dots-cli

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.

Getting Started

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.

v1.x Roadmap

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.