4 Vagrant.configure(2) do |config|
5 # You can only have one config.vm.box uncommented at a time
7 # Comment this and uncomment another if you don't want to use the minimal Arch box
8 #config.vm.box = "dragon788/arch-ala-elasticdog"
10 # VMware/Virtualbox 64 bit
11 config.vm.box = "phusion/ubuntu-14.04-amd64"
13 # VMware/Virtualbox 64 bit
14 #config.vm.box = "puphpet/centos65-x64"
16 # The opensuse boxes don't have dfu-util in their default repositories
18 # The virtualbox version has tools issues
19 # VMware/Virtualbox 64 bit
20 #config.vm.box = "bento/opensuse-13.2-x86_64"
23 #config.vm.box = "bento/opensuse-13.2-i386"
27 # This section allows you to customize the Virtualbox VM
28 # settings, ie showing the GUI or upping the memory
30 config.vm.provider "virtualbox" do |vb|
31 # Hide the VirtualBox GUI when booting the machine
33 # Uncomment the below lines if you want to program
34 # your Teensy via the VM rather than your host OS
35 #vb.customize ['modifyvm', :id, '--usb', 'on']
36 #vb.customize ['usbfilter', 'add', '0',
39 # '--vendorid', '0x16c0',
40 # '--productid','0x0478'
42 # Customize the amount of memory on the VM:
46 # This section allows you to customize the VMware VM
47 # settings, ie showing the GUI or upping the memory
49 config.vm.provider "vmware_workstation" do |vmw|
50 # Hide the VMware GUI when booting the machine
53 # Customize the amount of memory on the VM:
57 config.vm.provider "vmware_fusion" do |vmf|
58 # Hide the vmfare GUI when booting the machine
61 # Customize the amount of memory on the VM:
65 # Docker provider pulls from hub.docker.com respecting docker.image if
66 # config.vm.box is nil. Note that this bind-mounts from the current dir to
67 # /vagrant in the guest, so unless your UID is 1000 to match vagrant in the
68 # image, you'll need to: chmod -R a+rw .
69 config.vm.provider "docker" do |docker, override|
71 docker.image = "jesselang/debian-vagrant:jessie"
75 # This script ensures the required packages for AVR programming are installed
76 # It also ensures the system always gets the latest updates when powered on
77 # If this causes issues you can run a 'vagrant destroy' and then
78 # add a # before ,args: and run 'vagrant up' to get a working
79 # non-updated box and then attempt to troubleshoot or open a Github issue
81 config.vm.provision "shell", run: "always", path: "./util/install_dependencies.sh", args: "-update"
83 config.vm.post_up_message = <<-EOT
84 Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
85 or 'vagrant ssh-config' and Putty or Bitvise SSH or another SSH tool
87 Change directory (cd) to the keyboard you wish to program
88 (Optionally) modify your layout,
90 and then 'make' to compile the .eep and .hex files.
92 Or you can copy and paste the example line below.
94 cd /vagrant; cd keyboards; cd ergodox; make clean; make