---
status: resolved
claimed-by: "019fba91-eabf-76ae-b086-a37ac061d6e8"
claimed-at: "2026-07-31T19:59:55-04:00"
parent: "[[002-pi-subagents-map]]"
blocked-by: []
tags:
  - ticket/task/afk
---

# Local Pi and Herdr config inventory

## Question

Inventory the local dotfiles entry points for Pi, Herdr, and agent tooling so the later adoption decision can distinguish upstream capability from repo-specific configuration work.

## Resolution

Pi and Herdr are enabled on `neogaia` through `hosts/neogaia/default.nix`.
The relevant toggles are `modules.agents.pi.enable = true` and `modules.agents.herdr.enable = true`.

Pi is declared in `modules/agents/pi/pi.nix`.
That module enables `programs.pi-coding-agent`, sets the default provider to `openai-codex`, the default model to `gpt-5.5`, and the default thinking level to `medium`.
It force-manages `~/.pi/agent/settings.json`, symlinks `~/.pi/agent/extensions` from `modules/agents/pi/extensions`, and symlinks `~/.pi/agent/prompts` from `modules/agents/pi/prompts`.
Both declared directories currently contain only `.gitkeep`, so no subagent or Herdr Pi extension is managed there yet.

Shared Pi skills are home-manager-generated under `~/.pi/agent/skills` from the flake's skills module.
The dotfiles checkout contributes only the project-local `.agents/skills/gitea-axi` symlink.
There is no local `.pi/agents` directory, no managed `~/.pi/agent/agents` directory, and no subagent-type definitions currently present.

The live `~/.pi/agent/settings.json` matches the flake-managed defaults.
`~/.pi/agent/trust.json` trusts `/home/alexion/wrk` and `/home/alexion/wrk/dotfiles`.
`~/.pi/agent/auth.json`, `models-store.json`, and session files are live state rather than flake-managed configuration.

Herdr is declared in `modules/agents/herdr.nix`.
That module installs `pkgs.herdr` and writes `~/.config/herdr/config.toml` with keybindings and `prompt_new_tab_name = false`.
The live Herdr client and server are version `0.7.5` with protocol `17`, and the server is running.

Herdr's Pi integration is not installed.
`herdr integration status` reports `pi: not installed (/home/alexion/.pi/agent/extensions/herdr-agent-state.ts)`.
That path falls under the Pi extensions directory currently symlinked from the Nix store, so an imperatively installed integration would be local development state rather than durable deployment.
For throwaway development, it is acceptable to create extensions where Pi normally expects them, with the understanding that a later Home Manager activation may overwrite or hide those files.
A finished solution should package or copy the integration through `modules/agents/pi/extensions` or add an equivalent managed extension path rather than treating `herdr integration install pi` against the live home as deployment.

Herdr's local detection cache includes `remote/pi.toml`, whose Pi rule marks a pane `working` when recent terminal output contains `Working...`.
That cache is local state under `~/.local/state/herdr/agent-detection`, not dotfiles configuration.

Current Herdr session state contains workspaces for `ai-artifacts`, `dotfiles`, and `skills`, each with a Pi pane visible to `herdr agent list`.
This proves ordinary interactive Pi sessions already appear in Herdr's agents section even without the optional Pi integration installed, but it does not prove headless child processes spawned outside Herdr will appear.
