Files
millerson-overlay.nix/.serena/memories/core.md
T
alex 722d608491
CI / check (push) Has been cancelled
chore(beads): migrate issue tracking from bd to br
Agents were told to run bd commands that beads_rust does not have (bd prime,
bd remember, bd dolt push, bd tag, bd note, bd children), and bd's git hooks
were still active, so bd could re-export its stale dolt state over br's
JSONL on commit.

- Rewrite AGENTS.md, docs/agents/issue-tracker.md, docs/agents/triage-labels.md
  and the .serena memories around br's real CLI surface
- Replace bd's generated AGENTS.md block with br's (br agents --add)
- Point the .claude session hooks at `br robot-docs guide`
- Remove bd git hooks and unset core.hooksPath; br installs no hooks
- Ignore br runtime files (local SQLite DB, recovery and merge artifacts)
- Rewrite .beads/README.md, config.yaml and metadata.json for br

Issue: nix-overlay-6pp
2026-10-21 18:47:16 +03:00

31 lines
2.4 KiB
Markdown

# nix-overlay — core
Nix flake overlay (numtide/blueprint-based) exposing extra packages for Nix/NixOS.
Repo: `git+https://git.millerson.name/alex/millerson-overlay.nix.git`
## Source map
- `flake.nix` — inputs + outputs; blueprint drives perSystem outputs; overlays/modules added manually on top.
- `overlays/default.nix` — binary-cache-friendly: maps blueprint's pre-built `packages` under namespace `millerson-nix-overlay`.
- `overlays/shared-nixpkgs.nix` — builds `packages/` tree against consumer's `final` via `mkPackagesFor`; shares deps, cache only hits on matching nixpkgs rev.
- `packages/<name>/default.nix` + `package.nix` — every package follows this wrapper/derivation split. See `mem:conventions` for patterns.
- `packages/default/` — meta-package; generates name\tdesc list from `perSystem.self`, filtering `passthru.hideFromDocs`.
- `packages/flake-inputs/` — dummy derivation referencing all flake inputs so they get cached. `hideFromDocs = true`.
- `treefmt.toml` — nixfmt for `*.nix`, flake.lock excluded.
- `AGENTS.md` — agent workflow rules (beads tracking, mandatory skills, caveman comms).
## Project-wide invariants
- All overlay packages live under the single attrset `millerson-nix-overlay` (not top-level attrs).
- Blueprint discovers packages from the **git index**, not the working dir: new `packages/<name>/` must be `git add`-ed before `nix build .#<name>` sees it.
- Three nixpkgs inputs; some packages deliberately build against non-default ones. See pins in `mem:tech_stack`.
- Everything under `packages/` uses `pkgs.callPackage ./package.nix { }` wrapper pattern; `default.nix` receives blueprint args (pkgs, perSystem, inputs, ...).
## Task workflow (from AGENTS.md, enforced)
Runnable commands (build/format/update/bd/push): `mem:suggested_commands`. Exact done-checklist: `mem:task_completion`.
- ALL task tracking via `br` (beads): `br ready`, `br update <id> --claim`, `br close <id>`. NEVER TodoWrite/markdown TODOs.
- `br robot-docs guide` before starting work; persistent knowledge goes into issue notes (`br update <id> --append-notes "..."`) instead of MEMORY.md files.
- Session not complete until `git push` succeeds. `br` never runs git: run `br sync --flush-only`, then `git add .beads/ && git commit` before the push.
- Commits use conventional-commit format.
- For nixpkgs/option lookups use the `nix` skill; for flake/devShell ops the `nix-flakes` skill; comms in caveman mode.