feat(nix): add UI-embedded flake package, refresh lock + docs#1089
Open
mipmip wants to merge 1 commit into
Open
feat(nix): add UI-embedded flake package, refresh lock + docs#1089mipmip wants to merge 1 commit into
mipmip wants to merge 1 commit into
Conversation
Fixes DeusData#1088 The flake only built the standard `cbm` target, so `nix run`/`nix shell` produced a binary without the embedded UI — `--ui=true` refused to start the HTTP server. Add two flake outputs: - `graph-ui`: the React frontend built via buildNpmPackage (offline, from the pinned package-lock.json; npmDepsHash tracks the lockfile) - `codebase-memory-mcp-ui`: the server with those assets embedded, built by dropping the prebuilt dist/ into place and running the embed + link path inside the sandbox (no network access) Also fold in adjacent Nix cleanups: bump default.version 0.6.0 -> 0.9.0 to match the release, refresh flake.lock (nixpkgs 2026-04 -> 2026-07), ignore ./result build symlinks, and document both packages in the README. Signed-off-by: Pim Snel <post@pimsnel.com>
1 task
Owner
|
Thanks for providing the Nix-native UI package. This is a normal-priority 0.9.2-rc enhancement. Because it updates the nixpkgs lock and introduces an npm dependency hash, review will verify the pinned revision and hash, offline reproducibility on each supported system, and that the existing standard package remains unchanged. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1088
Problem
The flake only built the standard
cbmtarget, which linkssrc/ui/embedded_stub.c(no assets). So a binary fromnix run/nix shell/nix buildhad no embedded UI, and--ui=truerefused to start the HTTP server:There was no Nix-native way to get the UI-embedded server, because
cbm-with-uirunsnpm ci && npm run build, which needs network access and can't run in the build sandbox as wired.Changes
codebase-memory-mcp-uiflake package — the server with the graph UI embedded. Drops the prebuiltdist/intograph-ui/dist, runsscripts/embed-frontend.shdirectly, thenmake cbm-with-uiwithfrontend/embedmarked up-to-date (-o) so npm never runs in the sandbox.graph-uiflake package — the React frontend built viabuildNpmPackage(deps fetched offline from the pinnedgraph-ui/package-lock.jsonvianpmDepsHash).nix run/nix build, and the stdin-EOF behaviour when run by hand.Adjacent Nix cleanups folded in (same surface, kept to one focused PR):
0.6.0→0.9.0to match the current release.flake.lockrefreshed (nixpkgs ~2026-04566acc0→ 2026-076cdc7fc, ~3 months stale)..gitignore— ignorenix buildoutput symlinks (/result,/result-*).Verification (x86_64-linux)
nix flake checkpasses.nix build .#defaultandnix build .#codebase-memory-mcp-uiboth succeed on the refreshed lock (npmDepsHashstill validates).GET /→ 200 (index.html),/assets/*.js→ 200 (1.3 MB,application/javascript),/assets/*.css→ 200 (text/css); logsmsg=ui.servinginstead of the no-UI refusal.