Commit | Line | Data |
---|---|---|
fd454e5b AG |
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 | |
758a8c64 | 8 | #config.vm.box = "dragon788/arch-ala-elasticdog" |
fd454e5b AG |
9 | |
10 | # VMware/Virtualbox 64 bit | |
758a8c64 | 11 | config.vm.box = "phusion/ubuntu-14.04-amd64" |
fd454e5b AG |
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 | ||
c30aba0b | 81 | config.vm.provision "shell", run: "always", path: "./util/install_dependencies.sh", args: "-update" |
fd454e5b AG |
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 | ||
8a9bf1f1 | 94 | cd /vagrant; cd keyboards; cd ergodox; make clean; make |
fd454e5b AG |
95 | |
96 | ||
97 | EOT | |
98 | end |