Straightforward dotfiles management
Dotrs uses a hidden git repository, placed in your $HOME
directory to store
the dotfiles you want to keep synchronized. Then it creates links to them in
your file system at the right location.
Dotrs is installed as a Ruby gem. To install dotrs, use the following commands (replace x.y.z with the current version):
$ git clone https://github.com/durierem/dotrs && cd dotrs
$ gem build dotrs.gemspec
$ gem install dotrs-x.y.z.gem
Dotrs needs a remote repository for managing your dotfiles. Create an empty one on GitHub (or other) if you don't already have one. Afterward, use the following command to initialize Dotrs:
$ dotrs init REMOTE-URL
The following is an overview of the basic workflow with Dotrs.
For an exhaustive list of available commands and their options, see the
--help
option.
Add files and save changes:
$ dotrs add ~/.bashrc // Add ~/.bashrc to the local repository
$ dotrs push // Push local changes
Get informations about tracked files:
$ dotrs list // Check which files are currently tracked
$ dotrs diff // Similar to git diff
Retrieve new changes:
$ dotrs pull // Pull last changes from the remote repository
$ dotrs apply // Link all tracked files to their location
Dotrs adds pretty commit messages to help you find out what changed and when.
Sample, taken from my own dotfiles repository:
dotrs: push from 'aegolius'
Added:
.config/kitty/gruvbox-dark-base.conf
.config/kitty/gruvbox-dark-soft.conf
Changed:
.config/fish/config.fish
.config/kitty/gruvbox-dark-medium.conf
.config/kitty/kitty.conf
.config/nvim/init.vim
Deleted:
.vimrc