pointy.deps: declare dependent pointy repos and mount outputs under namespaces - #4
Open
ggPeti wants to merge 4 commits into
Open
pointy.deps: declare dependent pointy repos and mount outputs under namespaces#4ggPeti wants to merge 4 commits into
ggPeti wants to merge 4 commits into
Conversation
added 4 commits
August 5, 2026 13:53
…nder namespaces
- flakeModules.default gains pointy.deps (namespace -> { input, repo? })
- outputs.pointy.deps: backend registry contract (lazy, own-state-only)
- outputs.pointy.namespaces.<ns>: dependency pointy domain output mount
- packages.<sys>.pointy.namespaces.<ns>: + built steps/projectOutPaths/autocomplete
- helpful throws for unknown/non-pointy dep inputs
- guard input=self (injected by withDefaultNixpkgs) with a descriptive throw
instead of a stack overflow
- strip the dependency fakeDrv markers (type/name) from the per-system
namespace merge so #pointy.namespaces.<ns> is a clean pointy surface
- default stepDefs/templates/projects/srcFiles to {} so deps-only hub repos
evaluate (#pointy.stepConfig etc.)
- README: correct the per-system steps path (#packages.<system>.pointy...
not #pointy.packages...) and describe the namespace surface accurately
- verified via consumer harness: clean namespace root, reachable built steps,
deps-only stepConfig={}, self-dep descriptive error
- depOutput comment: resolve to the flake input (not 'output'), which is what it actually returns - rename depsJson -> depsContract (it is an attrset, not JSON; matches the Backend contract comment and #pointy.deps framing) - fix mangled 'stepDefs/templates / projects' comment list, drop 'co-managed' - README: drop leaked fakeDrv name, restructure the shadowing bullet, reword the stale single-repo-backend-variant paragraph
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.
Summary
Stdlib-side machinery for one pointy user repo to import another as a dependency, with no backend changes (single-repo variant).
flakeModules.defaultgainspointy.deps(namespace → { input, repo? },repooptional).outputs.pointy.deps— backend registry contract (namespace →{ input, repo? }), pure metadata of the repo's own committed state; does not force dependency evaluation.outputs.pointy.namespaces.<ns>— mounts a dependency'spointyoutput (stepDefs/stepConfig/templates/projects/presets/srcFiles/deps) under a namespace; per-systempackages.<system>.pointy.namespaces.<ns>additionally exposes its builtsteps/projectOutPaths/autocomplete.Verification
nix flake checkpasses.#pointy.deps,#pointy.namespaces.<ns>.stepDefs, and per-systemstepsreach the dependency; unknown-input namespace throws the expected error.#pointy.deps,#pointy.namespaces,#pointy.stepConfig(16 template types),#pointy.projectsunder this stdlib withdeps = {}.