X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Vagrantfile;h=552711d632f1114deb393c8bc9b986a1091f1bf2;hb=e717dcaa09143615ae0b46bf625621f67a7b55ce;hp=e1082a08d030478fe7a41fc8884f4bdc8df107a3;hpb=ab7d6dca4106bae6876b46f06fe157478a62ecda;p=qmk_firmware.git diff --git a/Vagrantfile b/Vagrantfile index e1082a08d..552711d63 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -1,45 +1,84 @@ -# -*- mode: ruby -*- -# vi: set ft=ruby : - -Vagrant.configure(2) do |config| - config.vm.box = "dragon788/arch-ala-elasticdog" - - # 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 - - # 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" 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 - - # This ensures the system always gets the latest updates when powered on - # If this causes issues you can run a 'vagrant destroy' and then - # comment out these three lines and run 'vagrant up' to get a working - # non-updated box and then attempt to troubleshoot after it has started - # - config.vm.provision "shell", run: "always", inline: <<-SHELL - sudo pacman -Syu --needed --noconfirm - SHELL - - # Allow user to speed up package installs using powerpill/wget tweaks - # Always run the pacman mirror update script if possible when vagrant comes up - # This will ensure that users never get stalled on a horribly slow mirror - - config.vm.provision "shell", path: "avr_setup.sh" - - 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.""" -end +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure(2) do |config| + # define a name instead of just 'default' + config.vm.define "qmk_firmware" + + # VMware/Virtualbox ( and also Hyperv/Parallels) 64 bit + config.vm.box = "generic/debian9" + + config.vm.synced_folder '.', '/vagrant' + + # 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" + # Uncomment the below lines if you have time sync + # issues with make and incremental builds + #vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 1000 ] + 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:stretch" + 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 ,run: (or change "always" to "once") 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", inline: "/vagrant/util/qmk_install.sh", run: "always" + + 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, e.g. + cd /vagrant + make :default + + Examples: + make planck/rev4:default:dfu + make planck:default + + EOT +end