I love Laravel’s Homestead environment. I’ve been using it since it was first released and have found it incredibly handy. I often use it for non-Laravel uses as well. It’s a great PHP 5.6+ / nginx / MySQL vagrant box.

With Homestead version 2, Homestead was changed to run from your home folder and it pushed you more towards using one Homestead machine for all of your Laravel projects. This is fine and works really well for many people.

I prefer to have the project’s vagrant configuration in the actual project itself So that each of my applications are isolated in their own environment. SimpleLance and NerdsAreDrinking are examples. This allows me to ensure everyone that wants to contribute to the project is running the same exact environment without having to worry about other projects that may conflict.

Instead of always copying these set of files from one project to the next I have set them up in a repository of their own.

To use this in your project, just clone the repository and copy the files to the root of your Laravel application. Then configure “Homestead.yaml” as you would via the official Homestead documentation.