- Launch:
snapfig - Select directories with
Space - Configure remote:
F9 - Backup:
F7
- Install snapfig
- Launch and set remote:
F9 - Sync everything:
F8
Just press F7 (or run snapfig copy && snapfig push).
Don't want the TUI? Use commands directly:
# Initial setup
snapfig setup \
--paths=".config/nvim:g,.zshrc:x,.bashrc:x" \
--remote="git@github.com:user/dotfiles.git" \
--no-daemon
# Manual backup
snapfig copy && snapfig push
# Restore on new machine
snapfig pull && snapfig restoreIf you prefer cron over the daemon:
# Edit crontab
crontab -e# Copy every hour
0 * * * * /usr/local/bin/snapfig copy
# Push every day at 3am
0 3 * * * /usr/local/bin/snapfig push- Primary machine: Daemon with copy + push
- Secondary machines: Manual pull when needed
Configure all machines with pull interval:
daemon:
copy_interval: 1h
push_interval: 6h
pull_interval: 6h # Enable pull
auto_restore: true # Auto-apply changesWarning: Can cause conflicts if same files change on multiple machines.
Restore only specific files:
- Press
F6in TUI - Navigate and select files to restore
- Confirm
For config directories that are git repos (nvim, doom emacs):
- Select with
[g]mode (not[x]) .gitis renamed to.git_disabledin vault- On restore,
.git_disabledbecomes.gitagain
This preserves your config repo's history.
Configure vault on external drive:
vault_path: /mnt/backup/dotfilesOr via setup:
snapfig setup \
--paths=".config/nvim:g,.zshrc:x" \
--vault-path="/mnt/backup/dotfiles"The daemon will copy to the external location automatically.
Next: Architecture
All docs: Index · Getting Started · CLI Reference · Background Runner · Architecture