Skip to content

feat(core): generate a thin sub-flake per module input namespace - #79

Open
IceDBorn wants to merge 1 commit into
mainfrom
feat/module-input-subflakes
Open

feat(core): generate a thin sub-flake per module input namespace#79
IceDBorn wants to merge 1 commit into
mainfrom
feat/module-input-subflakes

Conversation

@IceDBorn

@IceDBorn IceDBorn commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Each module that declares inputs gets its own sub-flake (path: input named icedos-<repo>_<module>), deduped by Nix; parent reads module inputs via inputs.<sub>.inputs.<bare> and rewires ambient slots via follows.

  • abort on sanitized sub-flake-name collisions (_checkDuplicateSubFlakeNames)
  • abort on same bare input name with differing decls (url/patches/follows)
  • lock-driven update flows: --update-repos / --update-repos-inputs / --update
  • convergence pass re-bakes patched inputs after a module-input bump
  • refresh nested local path: module inputs every build
  • unstage flake.lock; gitignore it (no pinning of core's own inputs)

@IceDBorn
IceDBorn force-pushed the feat/module-input-subflakes branch 4 times, most recently from b50479e to f5f0f92 Compare August 16, 2026 18:01
Each module that declares inputs gets its own content-addressed
sub-flake
(path: input named icedos-<repo>_<module>), deduped by Nix; parent reads
module inputs via inputs.<sub>.inputs.<bare> and rewires ambient slots
via
follows.

- abort on sanitized sub-flake-name collisions
(_checkDuplicateSubFlakeNames)
- abort on same bare input name with differing decls
(url/patches/follows)
- lock-driven update flows: --update-repos / --update-repos-inputs /
--update
- convergence pass re-bakes patched inputs after a module-input bump
- refresh nested local `path:` module inputs every build
- unstage flake.lock; gitignore it (no pinning of core's own inputs)
@IceDBorn
IceDBorn force-pushed the feat/module-input-subflakes branch from f5f0f92 to 35e6f57 Compare August 18, 2026 14:49
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