# DotR
[](https://app.codecov.io/github/uroybd/DotR)
[](https://deps.rs/crate/dotr-dear/)
[](https://github.com/uroybd/DotR/blob/main/LICENSE)
---
[](https://github.com/uroybd/DotR/releases/latest)

[](https://crates.io/crates/dotr-dear)
A dotfiles manager that is as dear as a daughter.
๐ **[Read the full documentation โ](https://dotr.utsob.me/)**
## โจ Features
- ๐ฆ **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](https://keats.github.io/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](https://dotr.utsob.me/).
## ๐ฆ Installation
```bash
# 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/DotR
```
Pre-built binaries for macOS and Linux (glibc and musl, x86_64 and aarch64)
are on the [releases page](https://github.com/uroybd/DotR/releases). See the
[installation guide](https://dotr.utsob.me/getting-started/installation.html)
for details.
## ๐ Quick Start
```bash
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 repository
```
See the [Quick Start guide](https://dotr.utsob.me/getting-started/quick-start.html)
for a complete walkthrough, and the [CLI reference](https://dotr.utsob.me/reference/cli.html)
for every command and flag.
## ๐ค Contributing
Issues and pull requests are welcome.
## ๐ License
[MIT](./LICENSE)