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 2 times, most recently from f2c9bee to 6b88be8 Compare August 15, 2026 01:05
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 6b88be8 to b50479e Compare August 15, 2026 03:03
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