homebot
homebot
homebot
Not released yet
homebot is not released yet, so there is nothing to install today. These pages
describe how it works.
One git repo, your home repo, holds everything that makes a machine yours:
dotfiles, secrets, install lists, fonts, notes. homebot links it into
$HOME, installs what the profile lists, and keeps nudging, gently and in one
place, until nothing needs you.
The one command to remember
Run homebot. It prints a short to-do list, and every item ends with the
exact command that fixes it. homebot next runs the first one.
New machine
- Clone
git clone <your home repo> ~/.home - Bootstrap: installs bun if missing, builds
homebot, links it into~/.local/bin.~/.home/bootstrap.sh - Unpack: runs this host’s profile (decrypt secrets, link, brew, apt, flatpak, fonts).
homebot unpack # --dry-run first if you're nervous - Set up: commit guard and the hourly background helper.
homebot setup - Follow the inbox until it’s empty.
homebot
Day to day
| I want to | Run |
|---|---|
| See what needs me | homebot |
| Just do the next thing | homebot next |
| Start tracking a config | homebot pack ~/.config/thing |
| Track it on this OS only | homebot pack ~/.config/thing --layer linux |
| Track a secret | homebot pack ~/.netrc --private |
Decide about new files in $HOME |
homebot triage |
| Commit and push now | homebot save |
| Fix links after pulling | homebot link |
Everything else happens on its own: the helper seals secrets, snapshots
installed packages, commits, pulls, pushes and repairs links every hour.
What’s where
| Folder | What happens to it |
|---|---|
autolink/ |
Symlinked into $HOME. common/config/x is ~/.config/x. Edit here = edit live. |
private/ |
Same as autolink/, but only encrypted *.age files are committed. |
manifests/ |
Install profiles and package lists. Nothing runs until homebot unpack. |
furniture/ |
Passive stuff: fonts, drivers, themes, vendored repos, vaults. |
bin/ |
Personal scripts, on $PATH first. |
agent/ |
Reports written by coding agents. |
Next: how linking works
The folder names in autolink/ decide everything. Five minutes on
Linking rules saves an hour of guessing.