Vagrant.configure("2") do |config|
# frugalos probably works on other major Linux distributions (e.g. Ubuntu, Debian)
config.vm.box = "centos/7"
# Ignore files which slow down synchronization.
config.vm.synced_folder ".", "/vagrant",
type: "rsync",
rsync__exclude: [".git/", "target/"]
# Share sources of frugalos with guest OS.
# This configuration uses rsync but you can use your own way.
# Run `vagrant rsync-auto` to keep updated.
# https://www.vagrantup.com/docs/cli/rsync-auto.html
config.vm.synced_folder ".", "/home/vagrant/src/frugalos",
type: "rsync",
rsync__exclude: [".git/", "target/"]
# Share sources of libfrugalos with guest OS.
# Uncomment if you use your own libfrugalos.
# config.vm.synced_folder "../libfrugalos", "/home/vagrant/src/libfrugalos",
# type: "rsync",
# rsync__exclude: [".git/", "target/"]
config.vm.provider "virtualbox" do |box|
# Ucomment this line if you want to enable GUI.
# box.gui = true
# 1024 MB is ok but we recommend 2048 MB or more.
box.memory = "2048"
box.customize [
"modifyvm", :id,
# Assign CPUs as much as possible to reduce compilation times.
# It takes long time(few minutes or more) to compile sources with single CPU.
"--cpus", "2",
# Uncomment the following lines if you use GUI.
# "--clipboard", "bidirectional", # share clipboard across host OS and guest OS.
# "--draganddrop", "bidirectional", # enable drag-and-drop
# "--vram", "256", # fullscreen support
# "--accelerate3d", "on", # improve GUI performance
"--ioapic", "on"
]
end
# Note that this script must be executed as root user.
# You can manually execute this provisioning by `vagrant provision --provision-with install_rpms`.
config.vm.provision "install_rpms", type: "shell", path: "./scripts/install_rpms_centos7.sh"
# Note that this script must be executed as vagrant user.
# You can manually execute this provisioning by `vagrant provision --provision-with install_rust`.
config.vm.provision "install_rust", type: "shell", privileged: false, path: "./scripts/install_rust_centos7.sh"
end