Add Serena configuration and project memories
CI / check (push) Has been cancelled

(Set up Serena IDE integration with a Nix language server and create a
memory graph documenting package conventions, core structure, tech
stack, and task completion workflows.)
This commit is contained in:
2026-09-23 14:54:50 +03:00
parent c437841a86
commit a150408a5a
8 changed files with 313 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# 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` / `CLAUDE.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 `bd` (beads): `bd ready`, `bd update <id> --claim`, `bd close <id>`. NEVER TodoWrite/markdown TODOs.
- `bd prime` before starting work; `bd remember` for persistent knowledge (no MEMORY.md files).
- Session not complete until `git push` succeeds (`bd dolt push` skipping with "No remote is configured" is expected, not a failure).
- 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.