Adding Vagrantfile for easier compile environment setup
This commit is contained in:
parent
a07d2df99c
commit
ab7d6dca41
3 changed files with 69 additions and 0 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -11,3 +11,4 @@ tags
|
|||
*~
|
||||
build/
|
||||
*.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…
Reference in a new issue