Skip to content

Reidond/hometree

Repository files navigation

hometree

Linux-first CLI for managing a versioned subset of your home directory using a bare git repo.

Quick start

hometree init
hometree track ~/.config/myapp/config.toml
hometree snapshot -m "track config"
hometree verify --strict

Install / build

# install from this repo
cargo install --path crates/hometree-cli

# or build a release binary
cargo build -p hometree-cli --release
./target/release/hometree --help

Why hometree

  • Track only what you choose (managed roots + explicit extra files).
  • Commit snapshots with git and deploy/rollback safely.
  • Secrets are stored as age-encrypted sidecars; plaintext never goes into git.
  • Optional daemon stages changes from filesystem events (no full-home scans).

Safety model (short)

  • No full-home scans; only managed roots and extra files are considered.
  • Auto-add requires an allowlist and rejects overly broad patterns.
  • Symlink targets are validated to stay under $HOME.
  • Secrets are opt-in and tracked via ciphertext sidecars only.

License

This project is licensed under the GNU General Public License v3.0 or later. See LICENSE for details.

About

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors