nimble develop shadowing installed packages: limiting nimble.paths entries to one project
0 reputation · 17 Jun 2026, 21:49 UTC
I am using nimble develop to co-develop two interdependent Nim packages. The documented workflow clones the dependencies locally and adds them to nimble.paths, so local edits are compiled instead of the installed copies. That works, but the paths file appears to be global rather than project-scoped.
My concern is the permission boundary: once a package is in nimble.paths, unrelated projects on the same machine may silently compile against my in-development checkout instead of the pinned version from their lock file. I want the develop setup to apply only when building inside the one project directory, and to be safely reversible without hand-editing files.
Assume a recent Nimble release (I will confirm exact semantics with nimble -v and the installed README, since this behavior has changed across versions).
Specifically:
- Is there a supported way to scope
nimble developpath entries to a single project, or is the globalnimble.pathsmutation the only documented mechanism? - What is the intended way to remove develop entries cleanly so installed packages and lock-file pins take precedence again?
- Should a project's
nimble.lockstill be honored for dependencies currently listed innimble.paths, or does the develop path always win?