| # -*- mode: ruby -*- |
| # vi: set ft=ruby : |
| |
| Vagrant::Config.run 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. |
| |
| # host name to use for the guest machine |
| config.vm.host_name = 'whimsy' |
| |
| # Every Vagrant virtual environment requires a box to build off of. |
| config.vm.box = "precise32" |
| |
| # The url from where the 'config.vm.box' box will be fetched if it |
| # doesn't already exist on the user's system. |
| config.vm.box_url = "http://files.vagrantup.com/precise32.box" |
| |
| # 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 :hostonly, "192.168.33.10" |
| |
| # Assign this VM to a bridged network, allowing you to connect directly to a |
| # network using the host's network device. This makes the VM appear as another |
| # physical device on your network. |
| # To find the bridged devices, the following command can be used: |
| # $ VBoxManage list bridgedifs | grep "^Name" |
| # Note: VBoxManage is found in the VirtualBox installation directory |
| # config.vm.network :bridged, :bridge => 'eth1' |
| # For Windows, it might be something like: |
| # config.vm.network :bridged, :bridge => 'Intel(R) PRO/1000 PL Network Connection' |
| |
| # Forward a port from the guest to the host, which allows for outside |
| # computers to access the VM, whereas host only networking does not. |
| # config.vm.forward_port 3000, 3000 |
| |
| # Provision VM using chef |
| config.vm.provision :chef_solo do |chef| |
| chef.cookbooks_path = "cookbooks" |
| chef.add_recipe "whimsy" |
| chef.json = { |
| :user => ENV['USER'] |
| } |
| end |
| |
| # Speed up network access |
| # config.vm.customize ["modifyvm", :id, "--natdnsproxy1", "on"] |
| # config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] |
| |
| # Adjust amount of memory |
| # config.vm.customize ["modifyvm", :id, "--memory", 1024] |
| |
| # share svn folder if we can find a checkout of the foundation repository |
| require 'pathname' |
| path = Pathname.new(ENV['SVN_ROOT'] || __FILE__).realpath |
| while not path.root? |
| path = path.parent |
| if (path+'foundation/.svn').exist? |
| config.vm.share_folder "shared-svn", "/mnt/svn", path.to_s |
| break |
| end |
| end |
| end |