run entire file as tutorial1
diff --git a/tutorial1-setup.sh b/tutorial1-setup.sh
new file mode 100644
index 0000000..157c0f6
--- /dev/null
+++ b/tutorial1-setup.sh
@@ -0,0 +1,122 @@
+#!/bin/bash
+# vm-setup.sh
+#  
+# This script installs ONOS dependencies and installs a desktop environment on a Miniet VM.
+
+# -------------- Setup keys -------------------
+
+ssh-keygen -t dsa -P "" -f .ssh/id_dsa  
+cp .ssh/id_dsa.pub .ssh/authorized_keys
+
+# -------------- Install Karaf ----------------
+
+mkdir Downloads
+cd Downloads
+wget http://mirror.nexcess.net/apache/karaf/3.0.2/apache-karaf-3.0.2.zip
+cd -
+
+# -------------- Setup Desktop ----------------
+
+sudo apt-get install -y xorg lxde
+
+#TODO: add backgrounds folder
+sudo mkdir /usr/share/backgrounds
+#TODO: change background
+# Remove wallpaper, change background color
+sudo sed -i 's/wallpaper_mode=1/wallpaper_mode=0/g' /usr/share/lxde/pcmanfm/LXDE.conf
+sudo sed -i 's/desktop_bg=#000000/desktop_bg=#104187/g' /usr/share/lxde/pcmanfm/LXDE.conf
+
+# Automatically start LXDE on login
+echo '[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx' >> ~/.bashrc
+
+# Automatically log into the VM
+#sudo sed -i 's/exec /sbin/getty -8 38400 tty1//g' /etc/init/tty1.conf
+#sudo sed -i '$ d' /etc/init/tty1.conf
+#echo 'exec /bin/login -f bob < /dev/tty1 > /dev/tty1 2>&1' | sudo tee -a /etc/init/tty1.conf
+
+# Disable screensaver
+sudo sed -i '/screensaver/d' /etc/xdg/lxsession/LXDE/autostart
+cat > ${USER_HOME}/.xsessionrc << EOF
+# disable screensaver
+xset s off
+# disable dpms (standby)
+xset -dpms
+EOF
+
+# Change LXTerminal default colors
+#sudo sed -i 's/bgcolor=#000000000000/bgcolor=#ffffffffffff/g' ${USER_HOME}/.config/lxterminal/lxterminal.conf
+#sudo sed -i 's/fgcolor=#aaaaaaaaaaaa/fgcolor=#000000000000/g' ${USER_HOME}/.config/lxterminal/lxterminal.conf
+sudo sed -i 's/bgcolor=#000000000000/bgcolor=#ffffffffffff/g' /usr/share/lxterminal/lxterminal.conf
+sudo sed -i 's/fgcolor=#aaaaaaaaaaaa/fgcolor=#000000000000/g' /usr/share/lxterminal/lxterminal.conf
+
+DESKTOP=${USER_HOME}/Desktop
+OFFLINE="${DESKTOP}/Offline Exercises"
+
+mkdir -p ${DESKTOP}
+mkdir -p "${OFFLINE}"
+
+cat > ${DESKTOP}/ONOS << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Terminal
+Name[en_US]=Terminal
+Icon=konsole
+Exec=/usr/bin/xterm -e '/opt/onos/apache-karaf-3.0.2/bin/client -u karaf'
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Mininet << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Terminal
+Name[en_US]=Mininet
+Icon=konsole
+Exec=/usr/bin/xterm -e 'sudo python ~/onos-next/tools/test/topos/sol.py 127.0.0.1'
+Comment[en_US]=
+EOF
+
+
+
+cat > ${DESKTOP}/Tutorial << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Teaching with Mininet
+Name[en_US]=Teaching with Mininet
+Icon=internet-web-browser
+Exec=/usr/bin/chromium-browser http://teaching.mininet.org
+Comment[en_US]=
+EOF
+
+cat > ${DESKTOP}/Wireshark << EOF
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Wireshark
+Name[en_US]=Wireshark
+Icon=wireshark
+Exec=/usr/bin/wireshark
+Comment[en_US]=
+EOF
+
+# ------------- Install Other Tools ------------- 
+sudo apt-get install -y wireshark
+# Enable root-less wireshark and add mininet
+echo "Enabling wireshark group"
+echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections 
+sudo dpkg-reconfigure -f noninteractive wireshark-common
+sudo usermod -a -G wireshark mininet
+
+echo "Installing VirtualBox Guest Additions"
+sudo apt-get install -y virtualbox-guest-x11
+
+# ------------- Zero Unused Blocks -------------
+#TODO investigate zerofree
+echo "Zeroing unused blocks"
+sync
+dd if=/dev/zero of=tmp-zeros
+sync
+rm tmp-zeros
+sync
diff --git a/vm-setup.sh b/vm-setup.sh
index d5a5abf..48bb1c4 100644
--- a/vm-setup.sh
+++ b/vm-setup.sh
@@ -7,9 +7,13 @@
 export CURRENT_USER=tutorial1
 export USER_HOME=/home/${CURRENT_USER}
 
+URL='https://gerrit.onosproject.org/gitweb?p=ONOS-VM.git;a=blob_plain;hb=refs/heads/onos-tutorial;f=tutorial1-setup.sh'
+
 sudo /usr/sbin/useradd -c "Basic ONOS Tutorial" -d /home/${CURRENT_USER} -U -m -p $(openssl passwd -1 ${CURRENT_USER}) -s /bin/bash ${CURRENT_USER}
 
-sudo echo "${CURRENT_USER} ALL=NOPASSWD: ALL" >> /etc/sudoers
+echo "${CURRENT_USER} ALL=NOPASSWD: ALL" >> tutorial1
+sudo cp tutorial1 /etc/sudoers.d
+sudo chown root:root /etc/sudoers.d/tutorial1
 
 sudo apt-get update
 
@@ -23,122 +27,7 @@
 
 # -------------- Switch User ------------------
 
-sudo su - ${CURRENT_USER}
+wget -O tutorial1-setup.sh $URL
 
-# -------------- Setup keys -------------------
+sudo -u ${CURRENT_USER} -H sh -c 'cp tutorial1-setup.sh ~/ && cd ~/ && sh tutorial1-setup.sh'
 
-ssh-keygen -t dsa -P "" -f .ssh/id_dsa  
-cp .ssh/id_dsa.pub .ssh/authorized_keys
-
-# -------------- Install Karaf ----------------
-
-mkdir Downloads
-cd Downloads
-wget http://mirror.nexcess.net/apache/karaf/3.0.2/apache-karaf-3.0.2.zip
-cd -
-
-# -------------- Setup Desktop ----------------
-
-sudo apt-get install -y xorg lxde
-
-#TODO: add backgrounds folder
-sudo mkdir /usr/share/backgrounds
-#TODO: change background
-# Remove wallpaper, change background color
-sudo sed -i 's/wallpaper_mode=1/wallpaper_mode=0/g' /usr/share/lxde/pcmanfm/LXDE.conf
-sudo sed -i 's/desktop_bg=#000000/desktop_bg=#104187/g' /usr/share/lxde/pcmanfm/LXDE.conf
-
-# Automatically start LXDE on login
-echo '[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx' >> ~/.bashrc
-
-# Automatically log into the VM
-#sudo sed -i 's/exec /sbin/getty -8 38400 tty1//g' /etc/init/tty1.conf
-#sudo sed -i '$ d' /etc/init/tty1.conf
-#echo 'exec /bin/login -f bob < /dev/tty1 > /dev/tty1 2>&1' | sudo tee -a /etc/init/tty1.conf
-
-# Disable screensaver
-sudo sed -i '/screensaver/d' /etc/xdg/lxsession/LXDE/autostart
-cat > ${USER_HOME}/.xsessionrc << EOF
-# disable screensaver
-xset s off
-# disable dpms (standby)
-xset -dpms
-EOF
-
-# Change LXTerminal default colors
-#sudo sed -i 's/bgcolor=#000000000000/bgcolor=#ffffffffffff/g' ${USER_HOME}/.config/lxterminal/lxterminal.conf
-#sudo sed -i 's/fgcolor=#aaaaaaaaaaaa/fgcolor=#000000000000/g' ${USER_HOME}/.config/lxterminal/lxterminal.conf
-sudo sed -i 's/bgcolor=#000000000000/bgcolor=#ffffffffffff/g' /usr/share/lxterminal/lxterminal.conf
-sudo sed -i 's/fgcolor=#aaaaaaaaaaaa/fgcolor=#000000000000/g' /usr/share/lxterminal/lxterminal.conf
-
-DESKTOP=${USER_HOME}/Desktop
-OFFLINE="${DESKTOP}/Offline Exercises"
-
-mkdir -p ${DESKTOP}
-mkdir -p "${OFFLINE}"
-
-cat > ${DESKTOP}/ONOS << EOF
-[Desktop Entry]
-Encoding=UTF-8
-Type=Application
-Name=Terminal
-Name[en_US]=Terminal
-Icon=konsole
-Exec=/usr/bin/xterm -e '/opt/onos/apache-karaf-3.0.2/bin/client -u karaf'
-Comment[en_US]=
-EOF
-
-cat > ${DESKTOP}/Mininet << EOF
-[Desktop Entry]
-Encoding=UTF-8
-Type=Application
-Name=Terminal
-Name[en_US]=Mininet
-Icon=konsole
-Exec=/usr/bin/xterm -e 'sudo python ~/onos-next/tools/test/topos/sol.py 127.0.0.1'
-Comment[en_US]=
-EOF
-
-
-
-cat > ${DESKTOP}/Tutorial << EOF
-[Desktop Entry]
-Encoding=UTF-8
-Type=Application
-Name=Teaching with Mininet
-Name[en_US]=Teaching with Mininet
-Icon=internet-web-browser
-Exec=/usr/bin/chromium-browser http://teaching.mininet.org
-Comment[en_US]=
-EOF
-
-cat > ${DESKTOP}/Wireshark << EOF
-[Desktop Entry]
-Encoding=UTF-8
-Type=Application
-Name=Wireshark
-Name[en_US]=Wireshark
-Icon=wireshark
-Exec=/usr/bin/wireshark
-Comment[en_US]=
-EOF
-
-# ------------- Install Other Tools ------------- 
-sudo apt-get install -y wireshark
-# Enable root-less wireshark and add mininet
-echo "Enabling wireshark group"
-echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections 
-sudo dpkg-reconfigure -f noninteractive wireshark-common
-sudo usermod -a -G wireshark mininet
-
-echo "Installing VirtualBox Guest Additions"
-sudo apt-get install -y virtualbox-guest-x11
-
-# ------------- Zero Unused Blocks -------------
-#TODO investigate zerofree
-echo "Zeroing unused blocks"
-sync
-dd if=/dev/zero of=tmp-zeros
-sync
-rm tmp-zeros
-sync