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

2.4 KiB

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.