Manually specify location of .vagrant folder in Vagrantfile

You have (at least) two options:

  1. Use VAGRANT_DOTFILE_PATH to set the the location where the project specific data is stored (defaults to .vagrant as you already know). Note that the path has to be project/Vagrantfile specific.

  2. cd to a directory where you want the .vagrant directory to be created, and use VAGRANT_VAGRANTFILE to specify the path to the generated Vagrantfile.


I know this is an old question, but for anyone arriving here via Google, there is a workaround if you really want to specify the metadata directory without mucking about with environment variables each time. Just put this in the top of your Vagrantfile:


VAGRANT_DOTFILE_PATH = 'custom/dotfile/path'
if(ENV['VAGRANT_DOTFILE_PATH'].nil? && '.vagrant' != VAGRANT_DOTFILE_PATH)
    puts 'changing metadata directory to ' + VAGRANT_DOTFILE_PATH
    ENV['VAGRANT_DOTFILE_PATH'] = VAGRANT_DOTFILE_PATH
    puts 'removing default metadata directory ' + FileUtils.rm_r('.vagrant').join("\n")
    system 'vagrant ' + ARGV.join(' ')
    ENV['VAGRANT_DOTFILE_PATH'] = nil #for good measure
    abort 'Finished'
end

Tags:

Build

Vagrant