Is it still possible to use puppet instead of chef? We have a lot of puppet manifests written.
For a quick hack, you'd primarily change this file http://github.com/mitchellh/vagrant/blob/master/lib/vagrant/... to perform the necessary commands for a puppet setup. You'd need to add support for puppet configuration as well at http://github.com/mitchellh/vagrant/blob/master/lib/vagrant/...
Making the provisioning system modular is definitely on the radar, but keyist is absolutely correct in the above response.