Skip to content

Brain

The brain is a private git repo that holds your personal config. It is intentionally separate from the overseer binary — your config can be version-controlled, backed up, and shared across machines without touching the tool itself.

Structure

brain/
  overseer/
    config.yaml          # integrations, git profiles, repos, etc.
    Brewfile             # Homebrew packages
    Brewfile.local       # machine-specific packages (gitignored)
    dotfiles/            # mirrors ~/ — symlinked by overseer brain setup
      .zshrc             → ~/.zshrc
      .gitconfig         → ~/.gitconfig
      .config/
        starship.toml    → ~/.config/starship.toml
    plugins/             # overseer-* plugin executables

See brain-example/ in the repo for a fully commented example layout.

Path resolution

overseer finds your brain in this order:

  1. OVERSEER_BRAIN environment variable
  2. system.brain_path in ~/.config/overseer/config.local.yaml
  3. brain.path in brain/overseer/config.yaml
  4. ~/brain (default)

Print the resolved path at any time:

overseer brain path

Referenced paths

Not everything overseer uses lives in the brain. Some directories are referenced by path in config.yaml and can stay wherever they already are:

Config keyWhat it points to
obsidian.vault_pathYour Obsidian vault
system.repos_path (local)Where managed repos are cloned

These are typically machine-specific and belong in config.local.yaml, not the shared brain config.

Brain commands

CommandDescription
overseer brain initClone the brain repo from brain.url
overseer brain setupPull latest changes and re-apply config
overseer brain statusShow brain git status and health
overseer brain pullgit pull the brain repo
overseer brain pushgit push the brain repo
overseer brain git-initInitialise a new git repo in an existing brain directory
overseer brain pathPrint the resolved brain path