PetacommPetacomm
petacomm.ioUser ToolsPetaSync
User Tool · Dotfile Sync

Your config. Every machine.
Always in sync.

PetaSync keeps your dotfiles, shell configs and tool preferences identical across every Linux machine — peer-to-peer over SSH. No cloud. No central server. No drift.

Peer-to-peer over SSH — no cloud required
PetaSync syncs directly between your machines using your existing SSH keys. Configuration data never touches a third-party server. Encrypted in transit, conflict detection included.
Download PetaSync Documentation ›
#PetaSync #NoCloud #P2PSSH
P2PNo Central Server
SSHEncrypted Transit
Machines
GPL‑3Open Source
What Is PetaSync

One dotfile set.
Every machine.

If you work across more than one Linux machine — a workstation, a laptop, a cloud server — your config drifts. Your .zshrc on the laptop is two months behind the one on your workstation. Your Neovim plugins are different on every machine. You spend an hour every time you set up a new server.

PetaSync solves this permanently. Add the files you want synced, add your remote machines, and push. Everything propagates instantly over your existing SSH connections. No GitHub dotfile repo, no Chezmoi, no rsync scripts.

  • P2P over SSH — uses your existing SSH keys, no new ports
  • No cloud — data never leaves your machines
  • Conflict detection — shows you conflicts before merging
  • Selective sync — track individual files or entire directories
  • Hooks — run commands after sync (e.g. source ~/.zshrc)
  • Daemon mode — watch for changes and sync automatically
petasync — multi-machine P2P SSH
# Add machines
$ petasync add laptop [email protected]
laptop added. SSH key verified.
$ petasync add cloud deploy@prod-server-01
cloud added.

# Track files to sync
$ petasync track ~/.zshrc ~/.config/nvim/ ~/.gitconfig
3 items tracked.

# Push to all machines
$ petasync push --all

→ laptop syncing .zshrc ...
→ laptop syncing .config/nvim/ ...
→ cloud syncing .zshrc ...
→ cloud syncing .config/nvim/ ...

3 machines in sync.

Features

Dotfile sync
done right.

P2P over SSH
Direct machine-to-machine sync using your existing SSH keys. No new accounts, no new services.
End-to-End Encrypted
All data is encrypted via SSH. Your configs are never transmitted in plaintext, never stored on a server.
Conflict Detection
When the same file was modified on two machines, PetaSync shows you the diff and lets you choose which version wins.
Selective Tracking
Track individual files, entire directories or glob patterns. Different machines can have different tracked sets.
Post-sync Hooks
Run shell commands after sync completes. Automatically source your new .zshrc or rebuild plugin caches.
Daemon Mode
Run petasync daemon to watch for file changes and sync automatically in the background.

Installation

Install PetaSync.

bash
$ sudo apt install petasync # or dnf, yay

# Add a remote machine
$ petasync add laptop [email protected]

# Track your dotfiles
$ petasync track ~/.zshrc ~/.config/nvim/

# Push to all machines
$ petasync push --all

CLI Reference

CommandDescription
petasync add NAME HOSTAdd a remote machine to the sync group
petasync remove NAMERemove a machine from the sync group
petasync track PATHAdd a file or directory to track
petasync untrack PATHStop tracking a file or directory
petasync push --allPush all tracked files to all machines
petasync pull NAMEPull latest files from a specific machine
petasync statusShow sync status across all machines
petasync daemonRun in background, auto-sync on change
UbuntuDebianArchRHELAlpine+12 more

One config. Every machine. Always.

Set up once. Never think about dotfile drift again.

Download PetaSyncDocumentation ›