dotr is a very simple dotfile manager.
It supports link and unlink operations and couple
of basic flags like force.
cargo install dotr
dotr help
Logs use tracing, are written to standard error, and default to the info
level. Set DOTR_LOG to a
tracing-subscriber filter
to control filtering, for example:
DOTR_LOG=dotr=debug dotr --dst-dir "$HOME" linkWhen DOTR_LOG is unset, -v selects debug and -vv selects trace.
An empty DOTR_LOG uses that fallback; an invalid filter is a startup error.
dotr is a convenience tool for trusted, quiescent directory trees. It does
not confine operations beneath --dst-dir: symlinks in intermediate
destination path components can redirect writes and removals elsewhere.
Source and destination bases must not overlap.
--force may replace or delete entries that dotr did not create. Operations
are non-transactional and provide no rollback, so review paths and keep
recoverable backups before using force mode. Do not run dotr with elevated
privileges or on paths writable by untrusted users. See SECURITY.md
for the complete reliability model.
A .dotr file (TOML format) can be placed in a non-root directory within the
source tree to control how that directory is handled. Root-level configuration
files are skipped but do not alter traversal.
Controls how the directory is traversed during link/unlink operations.
traverse = "link"— Instead of traversing the directory and linking its contents individually, create a symlink to the directory itself. This is useful when new files created in the destination should automatically appear in the source (e.g. for revision control).
The .dotr file itself is never linked to the destination.
Malformed configuration files are silently ignored.
Example .dotr file:
traverse = "link"dotr is licensed under: MPL-2.0