A dotfiles manager that is as dear as a daughter.
📖 Read the full documentation →
- 📦 Package management — import, deploy, and update files or whole directories, individually or by profile
- 🎭 Profiles — different packages, variables, and destinations per machine (work, home, server, ...)
- 🔧 Variables — environment, config, package, profile, and prompt-sourced, with nested TOML structures
- 📝 Templating — full Tera support, detected automatically, no config needed
- ⚡ Pre/post actions — run shell commands around deployment, with variable interpolation
- 💬 Interactive prompts — ask once for secrets, remember the answer outside version control
- 🔗 Symlink support — deploy as symlinks for live-editing workflows
- 🧹 Clean mode — deployed directories stay in sync, stray files get removed automatically
- 🔍 Diff & dry run — preview every change before it happens
Full details for all of the above are in the documentation.
# Homebrew (macOS and Linux)
brew tap uroybd/tap
brew install dotr
# Cargo
cargo install dotr-dear
# From source
cargo install --git https://github.com/uroybd/DotRPre-built binaries for macOS and Linux (glibc and musl, x86_64 and aarch64) are on the releases page. See the installation guide for details.
dotr init # initialize a repository
dotr import ~/.bashrc # bring an existing dotfile under management
dotr deploy # deploy on a (new) machine
dotr diff # preview changes before deploying
dotr update # pull local edits back into the repositorySee the Quick Start guide for a complete walkthrough, and the CLI reference for every command and flag.
Issues and pull requests are welcome.
