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 install -y build-essential gcc unzip wget zip gcc-avr binutils-avr avr-libc
+ # This block performs completely non-interactive updates {{
+ export DEBIAN_FRONTEND=noninteractive
+ export DEBCONF_NONINTERACTIVE_SEEN=true
+ echo "grub-pc hold" | dpkg --set-selections
+ apt-get -y update
+ apt-get -y --allow-unauthenticated upgrade \
+ -o Dpkg::Options::="--force-confdef" \
+ -o Dpkg::Options::="--force-confold"
+ # }}
+ apt-get install -y \
+ build-essential \
+ gcc \
+ unzip \
+ wget \
+ zip \
+ gcc-avr \
+ binutils-avr \
+ avr-libc \
+ dfu-util
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
+ yum -y makecache && yum -y update
+ yum -y install \
+ gcc \
+ glibc-headers \
+ kernel-devel \
+ kernel-headers \
+ make \
+ perl \
+ git \
+ wget \
+ avr-binutils \
+ avr-gcc \
+ avr-libc \
+ dfu-util
elif [[ -n "$(type -P zypper)" ]]; then
# openSUSE
- zypper --non-interactive install git make gcc kernel-devel patch wget
+ zypper --non-interactive refresh && zypper --non-interactive update
+ zypper --non-interactive install \
+ git \
+ make \
+ gcc \
+ kernel-devel \
+ patch \
+ wget \
+ dfu-programmer
fi