I found this cool side somewhere (sorry whoever I got it from but it's been sitting in my favorites for a while) and it walks you through setting up your Vagrantfile and creates a custom Puppet configuration so it will install all the modules you need.

The part I found interesting is that there is an option named "Box Sync Folder Source" which defaults to "./" (current directory) but you can change it to "../" (the parent directory) and then you can place the directory PuPHPet creates into your project's directory so you don't have to worry about all those extra folders.

https://puphpet.com/