Skip to content

Commit

Permalink
Adding update of vagrant VM every time it is booted
Browse files Browse the repository at this point in the history
  • Loading branch information
dragon788 committed Jan 6, 2016
1 parent ab7d6dc commit ee424f8
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 14 deletions.
50 changes: 37 additions & 13 deletions Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,25 @@
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
# You can only have one config.vm.box uncommented at a time

# Comment this and uncomment another if you don't want to use the minimal Arch box
config.vm.box = "dragon788/arch-ala-elasticdog"

# VMware/Virtualbox 64 bit
# config.vm.box = "phusion/ubuntu-14.04-amd64"
#
# VMware/Virtualbox 64 bit
# config.vm.box = "puphpet/centos65-x64"
#
# VMware/Virtualbox 64 bit
# config.vm.box = "bento/opensuse-13.2-x86_64"
#
# Virtualbox only
# config.vm.box = "bento/opensuse-13.2-i386"
# config.vm.box = ""
# config.vm.box = ""

# This section allows you to customize the Virtualbox VM
# settings, ie showing the GUI or upping the memory
# or cores if desired
Expand All @@ -21,25 +38,32 @@ Vagrant.configure(2) do |config|
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
# 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
# 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
# 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

# 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", run: "always", path: "avr_setup.sh", args: "-update"

config.vm.post_up_message = """
Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
or 'vagrant ssh-config' and Putty or another SSH tool
config.vm.provision "shell", path: "avr_setup.sh"
Change directory to the keyboard you wish to program
optionally and modify your layout,
then run 'make clean'
and then 'make' to compile the .eep and .hex files.
Or you can copy and paste the line below.
cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make
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
10 changes: 9 additions & 1 deletion avr_setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,26 @@

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
# Future improvements:
# 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
pacman -Syyu --needed --noconfirm
pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-util

elif [[ -n "$(type -P apt-get)" ]]; then
# Debian and derivatives
apt-get update -y && apt-get upgrade -y
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 makecache && yum -y update
yum -y install gcc glibc-headers kernel-devel kernel-headers make perl git wget

elif [[ -n "$(type -P zypper)" ]]; then
# openSUSE
zypper refresh --non-interactive && zypper update --non-interactive
zypper --non-interactive install git make gcc kernel-devel patch wget

fi

0 comments on commit ee424f8

Please sign in to comment.