cabot/Vagrantfile

51 lines
1.8 KiB
Ruby

# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'yaml'
# Load local config overrides
local_config = File.file?("local_config.yml") ? YAML.load(File.read("local_config.yml")) : {}
Vagrant::configure("2") do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = local_config["box"] || "hashicorp/precise64"
# Virtualbox
config.vm.provider "virtualbox" do |vb|
vb.customize [
"modifyvm", :id,
"--memory", local_config['ram'] || "1024",
"--cpus", local_config['cpu'] || 1,
"--ioapic", "on",
]
end
#vmware_fusion
config.vm.provider "vmware_fusion" do |v|
v.vmx["memsize"] = local_config['ram'] || "1024"
v.vmx["numvcpus"] = local_config['cpu'] || 1
end
# Boot with a GUI so you can see the screen. (Default is headless)
# config.vm.boot_mode = :gui
# Assign this VM to a host-only network IP, allowing you to access it
# via the IP. Host-only networks can talk to the host machine as well as
# any other machines on the same network, but cannot be accessed (through this
# network interface) by any external networks.
config.vm.network "forwarded_port", guest: 5001, host: 5001
# Share an additional folder to the guest VM. The first argument is
# an identifier, the second is the path on the guest to mount the
# folder, and the third is the path on the host to the actual folder.
config.vm.synced_folder "./", "/vagrant", create: true
# Provision the development environment
config.vm.provision :shell do |shell|
shell.inline = 'sudo /vagrant/bin/provision'
end
end