Repository Model
Real files live in the repository. Your home directory gets the symlinked applied state.
$HOME. Keep it reproducible.Tildr is a Rust CLI that moves real files into a repository inside your home directory, then projects them back into place with symlinks. The result is a controlled, inspectable, Git-friendly home state.
$HOME Supports .tildrignoreReal files live in the repository. Your home directory gets the symlinked applied state.
Tildr is designed to keep the repository inside your home directory on the same filesystem.
--dry-run, unlink, restore, and del intentionally.tildr sync.Tildr does not invent a hidden state layer. It works directly on your home directory, the repository, and the symlinks between them.
Create a repository inside $HOME. Tildr can also initialize a Git repository for version tracking.
$HOMEtildr add moves files into the repository and replaces the originals with symlinks at the same paths.
tildr apply recreates missing links and repairs broken ones so your home directory converges back to the repository state.
Use status, doctor, unlink, restore, and del to inspect drift and control each lifecycle step.
~/.config/tildr/config.tomlUse a repository-level .tildrignore file to exclude artifacts, caches, and anything that should not be scanned as managed content.
Create alias tildr-repo='cd "$(tildr repo)"' on Linux to jump directly into the repository whenever you need to edit or review managed files.
Tildr works on the same home filesystem model. Keep the repository under $HOME; it is not a workflow for copying managed files from your home directory to another disk.
Tildr keeps the command model small and sharp, so repository state and filesystem state stay understandable.
tildr add moves files into the repository, creates the symlink back into $HOME, and can auto-commit the result.
tildr apply restores the repository-backed shape of your home directory and can replace conflicting files with --force.
Use status for detailed link states and doctor for repository, permission, Git, and symlink health checks.
tildr unlink removes only the symlinks from $HOME. Repository data stays intact and can be re-applied later.
tildr restore moves the real file back from the repository into $HOME and removes the symlink.
tildr sync pushes the current repository branch to its remote, complementing the local auto-commit flow.
Install from the official script or remove it cleanly later. The workflow below reflects the actual command set of Tildr.
curl -fsSL https://orbitbits.com/tildr/linux.sh | shcurl -fsSL https://orbitbits.com/tildr/macos.sh | sh# Import GPG key
curl -fsSL https://deb.orbitbits.com/tildr-deb-pub.gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/tildr.gpg
# Add repository
echo "deb [signed-by=/usr/share/keyrings/tildr.gpg] https://deb.orbitbits.com/ stable main" \
| sudo tee /etc/apt/sources.list.d/tildr.list
# Install
sudo apt update && sudo apt install tildr# Import GPG key
sudo rpm --import https://rpm.orbitbits.com/tildr-rpm-pub.gpg
# Add repository
sudo dnf config-manager addrepo \
--from-repofile=https://rpm.orbitbits.com/tildr.repo
# Install
sudo dnf install tildrtildr initInitialize the repository and config file under your home directory.
tildr add .config/nvimMove real files into the repository and create symlinks in place.
tildr status --counterSummarize linked, missing, broken, and conflicting entries.
tildr apply --dry-runPreview convergence before touching the live home directory.
tildr applyCreate or repair symlinks from the repository into $HOME.
tildr syncPush the current repository branch to its configured Git remote.
Dry-run support is available on the destructive or state-changing commands that matter, including add, apply, unlink, restore, del, and sync.
Commands like cat, edit, unlink, restore, and del can open a picker when you omit the target.
tildr status --json gives you machine-friendly status output for scripts, wrappers, or higher-level automation.
Tildr is easiest to trust when the repository model, path rules, and command semantics stay visible.
When the repository is predictable, the links are inspectable, and recovery commands are explicit, your setup becomes something you can rebuild instead of something you have to remember.
Configs silently diverge across machines until nobody knows which version is the real one.
You lose track of whether a file is local, copied, linked, generated, or safe to replace.
Tildr gives you separate tools for re-applying, unlinking, restoring, deleting, and inspecting state.