]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - Vagrantfile
Keymap: Add Helix/pico keymap 'mtei' (#4696)
[qmk_firmware.git] / Vagrantfile
index e1082a08d030478fe7a41fc8884f4bdc8df107a3..9c414b2bcb9bf23bf365c790bd934dac3d55b4c5 100644 (file)
@@ -1,45 +1,77 @@
-# -*- mode: ruby -*-\r
-# vi: set ft=ruby :\r
-\r
-Vagrant.configure(2) do |config|\r
-  config.vm.box = "dragon788/arch-ala-elasticdog"\r
-\r
-  # This section allows you to customize the Virtualbox VM\r
-  # settings, ie showing the GUI or upping the memory\r
-  # or cores if desired\r
-  config.vm.provider "virtualbox" do |vb|\r
-    # Hide the VirtualBox GUI when booting the machine\r
-    vb.gui = false\r
-  \r
-    # Customize the amount of memory on the VM:\r
-    vb.memory = "512"\r
-  end\r
-\r
-  # This section allows you to customize the VMware VM\r
-  # settings, ie showing the GUI or upping the memory\r
-  # or cores if desired\r
-  config.vm.provider "vmware" do |vmw|\r
-    # Hide the VMware GUI when booting the machine\r
-    vmw.gui = false\r
-  \r
-    # Customize the amount of memory on the VM:\r
-    vmw.memory = "512"\r
-  end\r
-\r
-  # This ensures the system always gets the latest updates when powered on\r
-  # If this causes issues you can run a 'vagrant destroy' and then\r
-  # comment out these three lines and run 'vagrant up' to get a working\r
-  # non-updated box and then attempt to troubleshoot after it has started\r
-  #\r
-  config.vm.provision "shell", run: "always", inline: <<-SHELL\r
-    sudo pacman -Syu --needed --noconfirm\r
-  SHELL\r
-  \r
-  # Allow user to speed up package installs using powerpill/wget tweaks\r
-  # Always run the pacman mirror update script if possible when vagrant comes up\r
-  # This will ensure that users never get stalled on a horribly slow mirror\r
-\r
-  config.vm.provision "shell", path: "avr_setup.sh"\r
-\r
-  config.vm.post_up_message = """Change directory to the keyboard you wish to program and modify your layout, then run 'make clean' and 'make' to compile the .eep and .hex files."""\r
-end\r
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+Vagrant.configure(2) do |config|
+  # VMware/Virtualbox 64 bit
+  config.vm.box = "phusion/ubuntu-14.04-amd64"
+
+  # 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/qmk_install.sh", args: "-update"
+
+  config.vm.post_up_message = <<-EOT
+
+  Log into the VM using 'vagrant ssh'. QMK directory synchronized with host is
+  located at /vagrant
+  To compile the .hex files use make command inside this directory.
+
+  QMK's make format recently changed to use folder locations and colons:
+     make project_folder:keymap[:target]
+  Examples:
+     make planck/rev4:default:dfu
+     make planck:default
+
+  EOT
+end