After some time getting my development environment ready with Vagrant and Puppet, I've learnt several things.

Sharing the project folder is very slow using the default virtualbox sharing system, rsync is the fastest, but nfs gives less problems than the others, so in the end I chose this last one.

I created my first vagrant box so I don't have to wait to install packages I use all the time, here It is.

I started creating my own puppet modules to be able to reuse logic with different environments and I read a lot about it.

But when you start knowing something about how to write puppet modules you don't want to reinvent the wheel, you want to reuse existing very good puppet modules from the forge.

A way a lot of people uses to provision puppet modules for vagrant is adding them as git submodules for your project, but I read a very interesting thread on the matter and I think It's better to use librarian-puppet for it.

A way of using it from Vagrant is explained in this article, It's cleaner.

So my next move is using librarian puppet for provisioning puppet modules.

I had several problems I don't have time to fix now with ArchLinux, so my dev environment is ubuntu 14.04, gives less headaches, at least for now.