Project setup
- Create project
- Setup for per project nimbleDir
- New field in .nimble
- Nimble anyway generates command line for nim so no change in nim/nim.cfg
Lock file creation workflow
- Delete project nimbleDir or uninstall specific package
- Install deps at preferred levels using nimble
- nimble install abc@version or abc@#hash
- Everything goes into local project nimble director
- Eventually nimble update will delete/install in per project case
- Run nimble freeze to create/update lock file
- Check-in lock file into repo
- Release
Typical install
- If lock file exists
- Install all deps into local project repo
- Else
- Follow traditional nimble dependency process
nim-lang/nimble#127 discusses requirement in detail.