ADR v2.7 removed the modules {} config block (originally FR-020), with the rationale that inferring versions from installed meta.yml files reduces configuration burden.
For organizations sharing modules across many projects, the config declaration is actually the desired behavior: it keeps the registry as the single source of truth and avoids committing module source into every project repo.
Our use case: 30+ workflow projects share a common set of modules from a private registry. Under the current model, every project either commits modules/ to Git (30 copies of the same source) or needs a pre-run install script to fetch them.
What weâd want instead:
// .gitignore
modules/
// nextflow.config
modules {
âmyorg/alignmentâ = â1.2.3â // pinned for production
âmyorg/qcâ = âlatestâ // latest for development
}
Nextflow fetches from the registry on run if the module is absent or the version doesnât match. No modules/ in Git, no manual install step.
Is this planned, or is there a recommended pattern for the registry-as-single-source-of-truth use case?