You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.6 KiB

  1. # -*- mode: ruby -*-
  2. # vi: set ft=ruby :
  3. Vagrant.configure(2) do |config|
  4. # VMware/Virtualbox 64 bit
  5. config.vm.box = "phusion/ubuntu-14.04-amd64"
  6. # This section allows you to customize the Virtualbox VM
  7. # settings, ie showing the GUI or upping the memory
  8. # or cores if desired
  9. config.vm.provider "virtualbox" do |vb|
  10. # Hide the VirtualBox GUI when booting the machine
  11. vb.gui = false
  12. # Uncomment the below lines if you want to program
  13. # your Teensy via the VM rather than your host OS
  14. #vb.customize ['modifyvm', :id, '--usb', 'on']
  15. #vb.customize ['usbfilter', 'add', '0',
  16. # '--target', :id,
  17. # '--name', 'teensy',
  18. # '--vendorid', '0x16c0',
  19. # '--productid','0x0478'
  20. # ]
  21. # Customize the amount of memory on the VM:
  22. vb.memory = "512"
  23. end
  24. # This section allows you to customize the VMware VM
  25. # settings, ie showing the GUI or upping the memory
  26. # or cores if desired
  27. config.vm.provider "vmware_workstation" do |vmw|
  28. # Hide the VMware GUI when booting the machine
  29. vmw.gui = false
  30. # Customize the amount of memory on the VM:
  31. vmw.memory = "512"
  32. end
  33. config.vm.provider "vmware_fusion" do |vmf|
  34. # Hide the vmfare GUI when booting the machine
  35. vmf.gui = false
  36. # Customize the amount of memory on the VM:
  37. vmf.memory = "512"
  38. end
  39. # Docker provider pulls from hub.docker.com respecting docker.image if
  40. # config.vm.box is nil. Note that this bind-mounts from the current dir to
  41. # /vagrant in the guest, so unless your UID is 1000 to match vagrant in the
  42. # image, you'll need to: chmod -R a+rw .
  43. config.vm.provider "docker" do |docker, override|
  44. override.vm.box = nil
  45. docker.image = "jesselang/debian-vagrant:jessie"
  46. docker.has_ssh = true
  47. end
  48. # This script ensures the required packages for AVR programming are installed
  49. # It also ensures the system always gets the latest updates when powered on
  50. # If this causes issues you can run a 'vagrant destroy' and then
  51. # add a # before ,args: and run 'vagrant up' to get a working
  52. # non-updated box and then attempt to troubleshoot or open a Github issue
  53. config.vm.provision "shell", run: "always", path: "./util/qmk_install.sh", args: "-update"
  54. config.vm.post_up_message = <<-EOT
  55. Log into the VM using 'vagrant ssh'. QMK directory synchronized with host is
  56. located at /vagrant
  57. To compile the .hex files use make command inside this directory.
  58. QMK's make format recently changed to use folder locations and colons:
  59. make project_folder:keymap[:target]
  60. Examples:
  61. make planck/rev4:default:dfu
  62. make planck:default
  63. EOT
  64. end