# This file copyright (c) 2015, Pivotal Software, Inc.
# All rights reserved.
# See file CREDITS.txt for details.

# Basic Vagrant config (API version 2)
Vagrant.configure(2) do |config|
  # Base box: Debian 8 "Jessie" for x86-64
  config.vm.box = "debian/jessie64"

  # Give a reasonable amount of cpu and memory to the VM
  config.vm.provider "virtualbox" do |vb|
    vb.memory = 8192
    vb.cpus = 4
  end

  # Share the project source dir with the VM
  config.vm.synced_folder "../../..", "/quickstep"

  # Install necessary development packages
  config.vm.provision "shell", inline: <<-SHELL
    sudo apt-get update
    sudo apt-get install -y \
        build-essential g++ clang libc++-dev gdb lldb cmake git \
        protobuf-compiler libprotobuf-dev flex bison libnuma-dev iwyu
  SHELL
end
