I have the following configuration that only makes sense for vagrant up command:
config.vm.provider :virtualbox do |vb|
vb.gui = false
if ENV[\"VB_GUI\"]
A Vagrantfile
is just ruby code so you can easily get the command line arguments using the ARGV
array.
Take the following vagrant command for example:
vagrant up webserver
That would start the Vagrant box defined as webserver in your Vagrantfile
. You can then access the arguments like so:
ARGV[0] = up
ARGV[1] = webserver
So using your example you need to do the following:
config.vm.provider :virtualbox do |vb|
vb.gui = false
if ARGV[0] == "up"
if ENV["VB_GUI"] == "true" then vb.gui = true
else
puts("[info] VB_GUI environment variable not set so running headless")
end
end
end