]> git.donarmstrong.com Git - qmk_firmware.git/blob - Vagrantfile
qwerty_code_friendly: configurable left thumb
[qmk_firmware.git] / Vagrantfile
1 # -*- mode: ruby -*-
2 # vi: set ft=ruby :
3
4 Vagrant.configure(2) do |config|
5   # You can only have one config.vm.box uncommented at a time
6
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"
9
10   # VMware/Virtualbox 64 bit
11   config.vm.box = "phusion/ubuntu-14.04-amd64"
12   #
13   # VMware/Virtualbox 64 bit
14   #config.vm.box = "puphpet/centos65-x64"
15   #
16   # The opensuse boxes don't have dfu-util in their default repositories
17   #
18   # The virtualbox version has tools issues
19   # VMware/Virtualbox 64 bit
20   #config.vm.box = "bento/opensuse-13.2-x86_64"
21   #
22   # Virtualbox only
23   #config.vm.box = "bento/opensuse-13.2-i386"
24   # config.vm.box = ""
25   # config.vm.box = ""
26
27   # This section allows you to customize the Virtualbox VM
28   # settings, ie showing the GUI or upping the memory
29   # or cores if desired
30   config.vm.provider "virtualbox" do |vb|
31     # Hide the VirtualBox GUI when booting the machine
32     vb.gui = false
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',
37     #             '--target', :id,
38     #             '--name', 'teensy',
39     #             '--vendorid', '0x16c0',
40     #             '--productid','0x0478'
41     #            ]
42     # Customize the amount of memory on the VM:
43     vb.memory = "512"
44   end
45
46   # This section allows you to customize the VMware VM
47   # settings, ie showing the GUI or upping the memory
48   # or cores if desired
49   config.vm.provider "vmware_workstation" do |vmw|
50     # Hide the VMware GUI when booting the machine
51     vmw.gui = false
52
53     # Customize the amount of memory on the VM:
54     vmw.memory = "512"
55   end
56
57   config.vm.provider "vmware_fusion" do |vmf|
58     # Hide the vmfare GUI when booting the machine
59     vmf.gui = false
60
61     # Customize the amount of memory on the VM:
62     vmf.memory = "512"
63   end
64
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|
70     override.vm.box = nil
71     docker.image = "jesselang/debian-vagrant:jessie"
72     docker.has_ssh = true
73   end
74
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
80
81   config.vm.provision "shell", run: "always", path: "./util/install_dependencies.sh", args: "-update"
82
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
86
87   Change directory (cd) to the keyboard you wish to program
88   (Optionally) modify your layout,
89   then run 'make clean'
90   and then 'make' to compile the .eep and .hex files.
91
92   Or you can copy and paste the example line below.
93
94   cd /vagrant; cd keyboards; cd ergodox; make clean; make
95
96
97   EOT
98 end