Reliable config backup, restore, and revert โ from the terminal, in Rust.
Restitch is a simple command-line utility for organizing configs and dotfiles โ backup, restore, and revert system configurations.
No more manually backing up and moving files between installs. Restitch helps you track, package, and restore your setup across machines.
restitch # Launch the TUI to select configs and create a backup
restitch --restore --dry-run # Preview the restore without applying changes
restitch --restore # Restore from the most recent archive + manifest
restitch --revert # Revert to the last backup (interactive prompt)
restitch --help # CLI reference| Flag | Description |
|---|---|
--archive <path> |
Use a specific archive .tar.gz file |
--manifest <path> |
Use a specific manifest .toml file |
--config-path <path> |
Load custom config targets .toml file |
Create a config_targets.toml in the working directory (or specify one via --config-path):
[[config]]
name = "Zsh Config"
path = "~/.zshrc"
[[config]]
name = "Kitty Terminal"
path = "~/.config/kitty"Tilde (~) is supported. Only existing files or directories will be included.
restitch --restore --dry-runOutputs a detailed restore plan without modifying your system:
๐งญ Restore Plan (dry-run):
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ REPLACE: Zsh Config โ ~/.zshrc
๐ REPLACE: Kitty Terminal โ ~/.config/kitty
๐ Restore dry-run complete.
๐ To apply these changes, run with `--restore`
To roll back to the most recent state before a restore:
restitch --revertPrompts you before overwriting current files with a backup from ./backups/.
| Path | Description |
|---|---|
outputs/restitch-archive.tar.gz |
Generated config archive |
outputs/restitch-archive.manifest.toml |
Manifest listing included files |
backups/YYYY-MM-DD_HH-MM-SS/ |
Auto-backups before restore |
Visit the Releases Page and download the archive for your platform:
tar -xzf restitch-v0.1.2-x86_64-unknown-linux-gnu.tar.gz
sudo cp restitch-v0.1.2-x86_64-unknown-linux-gnu/restitch /usr/local/bin/Also available for:
aarch64-unknown-linux-gnu.
git clone https://github.com/JakeTurner616/restitch.git
cd restitch
cargo build --release
sudo cp target/release/restitch /usr/local/bin/Requires Rust to build from source.
MIT License โ free to use, modify, and distribute.
Built for terminal users who care about backing up their configs.