4 Vagrant.configure(2) do |config|
5 # VMware/Virtualbox 64 bit
6 config.vm.box = "phusion/ubuntu-14.04-amd64"
8 # This section allows you to customize the Virtualbox VM
9 # settings, ie showing the GUI or upping the memory
11 config.vm.provider "virtualbox" do |vb|
12 # Hide the VirtualBox GUI when booting the machine
14 # Uncomment the below lines if you want to program
15 # your Teensy via the VM rather than your host OS
16 #vb.customize ['modifyvm', :id, '--usb', 'on']
17 #vb.customize ['usbfilter', 'add', '0',
20 # '--vendorid', '0x16c0',
21 # '--productid','0x0478'
23 # Customize the amount of memory on the VM:
27 # This section allows you to customize the VMware VM
28 # settings, ie showing the GUI or upping the memory
30 config.vm.provider "vmware_workstation" do |vmw|
31 # Hide the VMware GUI when booting the machine
34 # Customize the amount of memory on the VM:
38 config.vm.provider "vmware_fusion" do |vmf|
39 # Hide the vmfare GUI when booting the machine
42 # Customize the amount of memory on the VM:
46 # Docker provider pulls from hub.docker.com respecting docker.image if
47 # config.vm.box is nil. Note that this bind-mounts from the current dir to
48 # /vagrant in the guest, so unless your UID is 1000 to match vagrant in the
49 # image, you'll need to: chmod -R a+rw .
50 config.vm.provider "docker" do |docker, override|
52 docker.image = "jesselang/debian-vagrant:jessie"
56 # This script ensures the required packages for AVR programming are installed
57 # It also ensures the system always gets the latest updates when powered on
58 # If this causes issues you can run a 'vagrant destroy' and then
59 # add a # before ,args: and run 'vagrant up' to get a working
60 # non-updated box and then attempt to troubleshoot or open a Github issue
62 config.vm.provision "shell", run: "always", path: "./util/qmk_install.sh", args: "-update"
64 config.vm.post_up_message = <<-EOT
66 Log into the VM using 'vagrant ssh'. QMK directory synchronized with host is
68 To compile the .hex files use make command inside this directory.
70 QMK's make format recently changed to use folder locations and colons:
71 make project_folder:keymap[:target]
73 make planck/rev4:default:dfu