dott

Crates.iodott
lib.rsdott
version0.1.1
sourcesrc
created_at2023-06-23 19:45:58.598376
updated_at2023-07-31 20:20:13.201022
descriptionSimple dotfile management
homepagehttps://github.com/thales-maciel/dott
repositoryhttps://github.com/thales-maciel/dott
max_upload_size
id898551
size55,700
Thales Maciel (thales-maciel)

documentation

README

dott - The Dotfile Manager You Never Knew You Didn't Need

Dott is here to manage your dotfiles in the simplest way it knows how... by copying things around.

Installing

From AUR

yay -S dott-rs-bin

From Crates.io

cargo install dott

Also available as binary and DEB package in the releases page

Why dott? Seriously, Why?

Dott aims to be straightforward and unobtrusive. It's not going to revolutionize your workflow. The goal is to try a different approach to dotfile management by keeping your dotfiles where they belong, without symlinks.

Getting Started, Or Something Like That

Joining the Dott party is as easy as falling off a log:

  1. Kick things off by going to where you want to keep your dotfiles. All actions should be ran inside this directory
mkdir ~/dotfiles && cd ~/dotfiles
  1. Create a dott.config file and write globs into it. Globs are all relative to your home folder.
echo ".config/git/**/*" >> dott.config
  1. Run dott refresh to copy all matching files from your home and their respective directory structure.
  2. Use dott install to copy the files from the repo back to their home whenever you need it.

Dott is a simple, beta, lightweight solution. And by that i mean it's a work in progress. Got a cool idea for dott? Feel free to make a pull request.

FAQ

  • How does dott know if it should delete a file?
    • Dott uses the patterns in dott.config to match files from the source and from the target directories. If a file is not found in source, but found in target, dott deletes it in order to keep consistency with the source directory that does not contain the file.
  • I'm scared of all this copying and overwriting
    • Every Dott command displays a list of all operations that will be performed, as well as a prompt where you can choose to cancel the execution of the command. You can also run commands with -r or --raw to perform a dry-run.

Thanks for giving Dott a look.

Commit count: 83

cargo fmt