I love vendoring. I will vote for vendoring. I think some thing like this would be cool:
It would be cool if nimble install X just installed stuff in the current folder's 'lib/pkgs/deps' directory and updated/created .nimble to reflect the installed dependancies and their versions. Its magical because you just do the thing that you would do anyways but all of the deps and .nimble and stuff is just handled for you. Its magical because .nimbile file would contain the exact version you installed. You can choose to just git ignore the 'lib/pkgs/deps' folder and commit your '.nimble' file. It would be magical because your can edit, fix, or just add echos the stuff in 'lib/pkgs/deps' and it would not impact other projects. You would use nimble install -g or --global to get them to install globally for the user, the thing it does now. If you just run nimble install without params it would look for .nimble file and install everything for that and recreate the 'lib/pkgs/deps' folder. I already run into nim's version of "dll hell issue" where one project I have uses one library version and another project I have uses the other (I think it was this one: [https://github.com/ephja/nim-glfw](https://github.com/ephja/nim-glfw)) and it was really confusing. Vendoring ftw!
