]> git.donarmstrong.com Git - qmk_firmware.git/blob - Vagrantfile
Update the installation script PR (#4167)
[qmk_firmware.git] / Vagrantfile
1 # -*- mode: ruby -*-
2 # vi: set ft=ruby :
3
4 Vagrant.configure(2) do |config|
5   # VMware/Virtualbox 64 bit
6   config.vm.box = "phusion/ubuntu-14.04-amd64"
7
8   # This section allows you to customize the Virtualbox VM
9   # settings, ie showing the GUI or upping the memory
10   # or cores if desired
11   config.vm.provider "virtualbox" do |vb|
12     # Hide the VirtualBox GUI when booting the machine
13     vb.gui = false
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',
18     #             '--target', :id,
19     #             '--name', 'teensy',
20     #             '--vendorid', '0x16c0',
21     #             '--productid','0x0478'
22     #            ]
23     # Customize the amount of memory on the VM:
24     vb.memory = "512"
25   end
26
27   # This section allows you to customize the VMware VM
28   # settings, ie showing the GUI or upping the memory
29   # or cores if desired
30   config.vm.provider "vmware_workstation" do |vmw|
31     # Hide the VMware GUI when booting the machine
32     vmw.gui = false
33
34     # Customize the amount of memory on the VM:
35     vmw.memory = "512"
36   end
37
38   config.vm.provider "vmware_fusion" do |vmf|
39     # Hide the vmfare GUI when booting the machine
40     vmf.gui = false
41
42     # Customize the amount of memory on the VM:
43     vmf.memory = "512"
44   end
45
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|
51     override.vm.box = nil
52     docker.image = "jesselang/debian-vagrant:jessie"
53     docker.has_ssh = true
54   end
55
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
61
62   config.vm.provision "shell", run: "always", path: "./util/qmk_install.sh", args: "-update"
63
64   config.vm.post_up_message = <<-EOT
65
66   Log into the VM using 'vagrant ssh'. QMK directory synchronized with host is
67   located at /vagrant
68   To compile the .hex files use make command inside this directory.
69
70   QMK's make format recently changed to use folder locations and colons:
71      make project_folder:keymap[:target]
72   Examples:
73      make planck/rev4:default:dfu
74      make planck:default
75
76   EOT
77 end