summaryrefslogtreecommitdiffstats
path: root/Vagrantfile
diff options
context:
space:
mode:
authorAron Griffis <aron@arongriffis.com>2016-06-07 18:41:55 +0200
committerJack Humbert <jack.humb@gmail.com>2016-06-07 18:41:55 +0200
commitfd454e5b74bc0a87effd755986ce33bf05b4d27c (patch)
tree85b87c39891403b12ac56dbd551ad8d4dc32dbb8 /Vagrantfile
parent6b8b332f77e6e7413d2ebb9d47093bc93255958e (diff)
downloadqmk_firmware-fd454e5b74bc0a87effd755986ce33bf05b4d27c.tar.gz
qmk_firmware-fd454e5b74bc0a87effd755986ce33bf05b4d27c.tar.xz
Add support for vagrant-docker (#389)
* clean trailing ws in Vagrantfile and util/avr_setup.sh * replace triple quotes with heredoc. Ruby doesn't have triple quotes; that's a Python thing. This was just being parsed as multiple strings concatenated. * add docker support to Vagrantfile * make wants to find dfu-programmer in vagrant guest
Diffstat (limited to 'Vagrantfile')
-rw-r--r--Vagrantfile186
1 files changed, 98 insertions, 88 deletions
diff --git a/Vagrantfile b/Vagrantfile
index c44eaf2d6..a6c3afd38 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -1,88 +1,98 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-
-Vagrant.configure(2) do |config|
- # You can only have one config.vm.box uncommented at a time
-
- # Comment this and uncomment another if you don't want to use the minimal Arch box
- config.vm.box = "dragon788/arch-ala-elasticdog"
-
- # VMware/Virtualbox 64 bit
- # config.vm.box = "phusion/ubuntu-14.04-amd64"
- #
- # VMware/Virtualbox 64 bit
- #config.vm.box = "puphpet/centos65-x64"
- #
- # The opensuse boxes don't have dfu-util in their default repositories
- #
- # The virtualbox version has tools issues
- # VMware/Virtualbox 64 bit
- #config.vm.box = "bento/opensuse-13.2-x86_64"
- #
- # Virtualbox only
- #config.vm.box = "bento/opensuse-13.2-i386"
- # config.vm.box = ""
- # config.vm.box = ""
-
- # This section allows you to customize the Virtualbox VM
- # settings, ie showing the GUI or upping the memory
- # or cores if desired
- config.vm.provider "virtualbox" do |vb|
- # Hide the VirtualBox GUI when booting the machine
- vb.gui = false
- # Uncomment the below lines if you want to program
- # your Teensy via the VM rather than your host OS
- #vb.customize ['modifyvm', :id, '--usb', 'on']
- #vb.customize ['usbfilter', 'add', '0',
- # '--target', :id,
- # '--name', 'teensy',
- # '--vendorid', '0x16c0',
- # '--productid','0x0478'
- # ]
- # Customize the amount of memory on the VM:
- vb.memory = "512"
- end
-
- # This section allows you to customize the VMware VM
- # settings, ie showing the GUI or upping the memory
- # or cores if desired
- config.vm.provider "vmware_workstation" do |vmw|
- # Hide the VMware GUI when booting the machine
- vmw.gui = false
-
- # Customize the amount of memory on the VM:
- vmw.memory = "512"
- end
-
- config.vm.provider "vmware_fusion" do |vmf|
- # Hide the vmfare GUI when booting the machine
- vmf.gui = false
-
- # Customize the amount of memory on the VM:
- vmf.memory = "512"
- end
-
- # This script ensures the required packages for AVR programming are installed
- # It also ensures the system always gets the latest updates when powered on
- # If this causes issues you can run a 'vagrant destroy' and then
- # add a # before ,args: and run 'vagrant up' to get a working
- # non-updated box and then attempt to troubleshoot or open a Github issue
-
- config.vm.provision "shell", run: "always", path: "./util/avr_setup.sh", args: "-update"
-
- config.vm.post_up_message = """
- Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
- or 'vagrant ssh-config' and Putty or Bitvise SSH or another SSH tool
-
- Change directory (cd) to the keyboard you wish to program
- (Optionally) modify your layout,
- then run 'make clean'
- and then 'make' to compile the .eep and .hex files.
-
- Or you can copy and paste the example line below.
-
- cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make
-
-
- """
-end
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+Vagrant.configure(2) do |config|
+ # You can only have one config.vm.box uncommented at a time
+
+ # Comment this and uncomment another if you don't want to use the minimal Arch box
+ config.vm.box = "dragon788/arch-ala-elasticdog"
+
+ # VMware/Virtualbox 64 bit
+ # config.vm.box = "phusion/ubuntu-14.04-amd64"
+ #
+ # VMware/Virtualbox 64 bit
+ #config.vm.box = "puphpet/centos65-x64"
+ #
+ # The opensuse boxes don't have dfu-util in their default repositories
+ #
+ # The virtualbox version has tools issues
+ # VMware/Virtualbox 64 bit
+ #config.vm.box = "bento/opensuse-13.2-x86_64"
+ #
+ # Virtualbox only
+ #config.vm.box = "bento/opensuse-13.2-i386"
+ # config.vm.box = ""
+ # config.vm.box = ""
+
+ # This section allows you to customize the Virtualbox VM
+ # settings, ie showing the GUI or upping the memory
+ # or cores if desired
+ config.vm.provider "virtualbox" do |vb|
+ # Hide the VirtualBox GUI when booting the machine
+ vb.gui = false
+ # Uncomment the below lines if you want to program
+ # your Teensy via the VM rather than your host OS
+ #vb.customize ['modifyvm', :id, '--usb', 'on']
+ #vb.customize ['usbfilter', 'add', '0',
+ # '--target', :id,
+ # '--name', 'teensy',
+ # '--vendorid', '0x16c0',
+ # '--productid','0x0478'
+ # ]
+ # Customize the amount of memory on the VM:
+ vb.memory = "512"
+ end
+
+ # This section allows you to customize the VMware VM
+ # settings, ie showing the GUI or upping the memory
+ # or cores if desired
+ config.vm.provider "vmware_workstation" do |vmw|
+ # Hide the VMware GUI when booting the machine
+ vmw.gui = false
+
+ # Customize the amount of memory on the VM:
+ vmw.memory = "512"
+ end
+
+ config.vm.provider "vmware_fusion" do |vmf|
+ # Hide the vmfare GUI when booting the machine
+ vmf.gui = false
+
+ # Customize the amount of memory on the VM:
+ vmf.memory = "512"
+ end
+
+ # Docker provider pulls from hub.docker.com respecting docker.image if
+ # config.vm.box is nil. Note that this bind-mounts from the current dir to
+ # /vagrant in the guest, so unless your UID is 1000 to match vagrant in the
+ # image, you'll need to: chmod -R a+rw .
+ config.vm.provider "docker" do |docker, override|
+ override.vm.box = nil
+ docker.image = "jesselang/debian-vagrant:jessie"
+ docker.has_ssh = true
+ end
+
+ # This script ensures the required packages for AVR programming are installed
+ # It also ensures the system always gets the latest updates when powered on
+ # If this causes issues you can run a 'vagrant destroy' and then
+ # add a # before ,args: and run 'vagrant up' to get a working
+ # non-updated box and then attempt to troubleshoot or open a Github issue
+
+ config.vm.provision "shell", run: "always", path: "./util/avr_setup.sh", args: "-update"
+
+ config.vm.post_up_message = <<-EOT
+ Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
+ or 'vagrant ssh-config' and Putty or Bitvise SSH or another SSH tool
+
+ Change directory (cd) to the keyboard you wish to program
+ (Optionally) modify your layout,
+ then run 'make clean'
+ and then 'make' to compile the .eep and .hex files.
+
+ Or you can copy and paste the example line below.
+
+ cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make
+
+
+ EOT
+end