Skip to content

codebase-memory-mcp: consume the kriswill nix fork instead of the sub-flake#19

Merged
kriswill merged 1 commit into
mainfrom
cbm-fork-input
Jul 1, 2026
Merged

codebase-memory-mcp: consume the kriswill nix fork instead of the sub-flake#19
kriswill merged 1 commit into
mainfrom
cbm-fork-input

Conversation

@kriswill

@kriswill kriswill commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Summary

Replaces the in-repo flakes/codebase-memory-mcp/ sub-flake (which fetched a pinned DeusData release tag and applied patches at build time) with our kriswill/codebase-memory-mcp nix fork consumed as a GitHub flake input.

The fork branch tracks upstream (DeusData) main and carries all the Nix work directly in the source, which unlocks three wins: we track upstream changes via git, we keep all of upstream's existing tooling + our Nix build advantages, and the cbm index now lives in that codebase so it can enhance work on itself.

Supersedes #18 (the patch-based sub-flake approach).

The fork branch

github:kriswill/codebase-memory-mcp/nix (3 commits on upstream/main):

  • Nix symbol extractionsource_expressionsource_code fix + walk_nix_bindings (bindings → Variables named by attrpath) + Nix in walk_defs descend. (Upstream had already merged the function_expression naming, so only the still-missing half was ported.)
  • Flake-topology passespass_flakelock.c (flake.lock → Flake + DEPENDS_ON/FOLLOWS/MOUNTS, via the already-vendored yyjson, no Nix eval) and pass_nix_eval.c (nix flake show --jsonFlakeOutput + PRODUCES, failure-tolerant + timeout-bounded).
  • Nix packagingcbm-with-ui build (graph-ui embedded), nix/git/coreutils wrapper, cbm-tools (cbm-ctl/cbm-daemon), and the darwinModules.codebase-memory-mcp launchd module — all in the fork's flake.nix + nix/.

What changed here

  • flake.nix: input codebase-memory-mcp.urlgithub:kriswill/codebase-memory-mcp/nix (dropped the now-absent flake-parts follows).
  • Removed flakes/codebase-memory-mcp/ (moved into the fork).
  • modules/{packages,overlays}.nix + modules/darwin/codebase-memory-mcp.nix: comment refresh only — the attr names (packages.<sys>.codebase-memory-mcp, darwinModules.codebase-memory-mcp) are unchanged, so the re-export wiring is untouched.

Verification

  • nix eval .#packages.aarch64-darwin.codebase-memory-mcp.namecodebase-memory-mcp-0.8.1-nix
  • nix eval .#darwinConfigurations.k.config.kriswill.codebase-memory.enabletrue
  • launchd ProgramArguments…-cbm-tools-0.8.1-nix/bin/cbm-daemon
  • nix build .#packages.aarch64-darwin.codebase-memory-mcp (via the fork input, under dotfiles' nixpkgs)
  • Fork branch independently verified: flake.lock topology edges, Nix symbols, resolved outputs (on a synthetic flake)

Follow-up

  • Phase 3 (option define↔set CONFIGURES linker) can now be developed in the fork with the cbm index available for the work.

…-flake

Replace the in-repo flakes/codebase-memory-mcp/ sub-flake (which fetched a pinned
DeusData release and patched it at build time) with our kriswill/codebase-memory-mcp
`nix` fork as a github input. The fork tracks upstream and carries the Nix work in
source (nix symbols, flake-topology passes, cbm-with-ui + wrapper, darwin module),
so we get upstream tracking + all upstream tooling + the cbm index in that repo.

- flake.nix: input url -> github:kriswill/codebase-memory-mcp/nix (drop flake-parts follows)
- remove flakes/codebase-memory-mcp/ (now lives in the fork)
- packages/overlays/darwin module: comment refresh; attr names unchanged, wiring untouched

Supersedes the patch-based approach (#18).
@kriswill kriswill merged commit 663f98f into main Jul 1, 2026
@kriswill kriswill deleted the cbm-fork-input branch July 1, 2026 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant