Private Git Config
The git and GitHub tooling reads a private YAML config that lists the repositories to track and how. It lives in the private overlay at $DOTFILES_PRIVATE_DIR/dot-git.yml by default (override with DOT_GIT_CONFIG_FILE).
It is consumed by dot git-diff, dot git-notifications --bar-json, dot notes-capture-sync, dot stow, dot update, and dot doctor.
Per-repo keys
Section titled “Per-repo keys”Each repo entry has two required sections, each with an explicit enabled flag and a 5-field cron schedule:
The optional aliases list generates Zsh repository shortcuts during dot stow and dot update. The same entries feed Herdr’s repository picker alongside ~/ and ~/repos. Inside Herdr, a shortcut changes directory in the current tab when it already belongs to the repository workspace; otherwise it creates or focuses that workspace using the repository’s name. Outside Herdr, it changes directory normally:
- name: "[HA] Frontend" path: ~/repos/home-assistant/frontend aliases: [haf]Top-level shortcuts use the same name, path, and aliases keys for directories that are not managed repositories, such as the private dotfiles checkout or a repository group directory.
Open the Herdr picker with prefix+s. Its cache is regenerated from validated dot-git.yml data by dot stow and dot update. The Home and Repos entries leave the workspace title unset.
An optional post_update command runs from the repository root when dot update successfully pulls that repo to a new HEAD. Use it for local generated artefacts that must match the checkout, such as rebuilding an unpacked browser extension:
post_update: mise run buildThe command does not run when the repo is already current or its pull is skipped. A failure or five-minute timeout stops the update so stale build output is not silently retained.
activity— include the repo indot git-diffand pull it duringdot update.notifications— include the repo in GitHub notification checks and in the notes capture repository picker generated bydot notes-capture-sync.
dot notes-capture-sync finds the managed timmo001/notes checkout, mirrors the active Worker’s non-secret variables and KV bindings into its ignored capture/wrangler.local.jsonc, and updates vars.CAPTURE_REPOSITORIES. Secret values are never written locally. When the live picker differs, the command deploys the capture Worker; keep_vars preserves dashboard-managed runtime variables and secrets on later Git-connected builds. Run it explicitly or from the Dot TUI when watched repositories change.
notifications— include the repo in the notification inbox surfaces.
The notifications.bar.ignore_bot_activity key controls status-bar bot noise. A repo’s remote.upstream.url lets upstream notifications match a managed fork.
Requirements
Section titled “Requirements”dot git-notificationsrequiresghauthenticated with a classic token carrying thenotificationsorreposcope.dot doctorverifiesdot-git.ymland GitHub notification access.