forked from mfulz_github/qmk_firmware
		
	Adding Vagrantfile for easier compile environment setup
This commit is contained in:
		
							parent
							
								
									a07d2df99c
								
							
						
					
					
						commit
						ab7d6dca41
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -11,3 +11,4 @@ tags
 | 
				
			|||||||
*~
 | 
					*~
 | 
				
			||||||
build/
 | 
					build/
 | 
				
			||||||
*.bak
 | 
					*.bak
 | 
				
			||||||
 | 
					.vagrant/
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										45
									
								
								Vagrantfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Vagrantfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					# -*- 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
 | 
				
			||||||
							
								
								
									
										23
									
								
								avr_setup.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								avr_setup.sh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					# This script will attempt to setup the Linux dependencies for compiling QMK/TMK
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This could probably go much lower, but since we are including an Arch vagrant,
 | 
				
			||||||
 | 
					# making it the first match makes sense
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ -n "$(type -P pacman )" ]]; then
 | 
				
			||||||
 | 
					  # Arch linux and derivatives like Apricity
 | 
				
			||||||
 | 
					  pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-utils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					elif [[ -n "$(type -P apt-get)" ]]; then
 | 
				
			||||||
 | 
					  # Debian and derivatives
 | 
				
			||||||
 | 
					  apt-get install -y build-essential gcc unzip wget zip gcc-avr binutils-avr avr-libc
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					elif [[ -n "$(type -P yum)" ]]; then
 | 
				
			||||||
 | 
					  # Fedora, CentOS or RHEL and derivatives
 | 
				
			||||||
 | 
					  yum -y install gcc glibc-headers kernel-devel kernel-headers make perl git wget
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					elif [[ -n "$(type -P zypper)" ]]; then
 | 
				
			||||||
 | 
					  # openSUSE
 | 
				
			||||||
 | 
					  zypper --non-interactive install git make gcc kernel-devel patch wget
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user