--- /dev/null
+#!/bin/bash
+
+# play safe
+set -e
+set -u
+
+# Standard Debian install
+
+# prepare on hydra and use debproxy for speed
+
+# have dedicated hard-drives for swap and home
+
+# expert install
+
+# hostname: neurodebian
+# domain: ''
+
+# Needs to be assured since it got reset to debian
+hostname neurodebian # this is not a permanent change
+echo "neurodebian" >| /etc/hostname # make it permanent
+sed -i -e 's/^127\.0\.1\.1.*/127.0.1.1\tneurodebian/g' /etc/hosts
+
+# all file in one partition
+
+# root: not there
+# user: brain
+# pwd: neurodebian
+
+
+# Do a minimal install
+# --------------------
+
+# All files in one partition/
+# just base system, run selection, but no tasks (not even 'Standard system')
+
+# set root password to 'neurodebian' too
+#echo "Set root passwd:"
+#passwd root
+
+apt-get install --no-install-recommends -y etckeeper
+
+# setup etckeeper
+git config --global user.name NeuroDebian
+git config --global user.email nd@localhost
+
+# install new stuff
+# -----------------
+
+# Add sources.list for backports and neurodebian
+wget -O /etc/apt/sources.list.d/neuro.debian.net.list http://neuro.debian.net/lists/squeeze.us-nh
+
+echo "deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free" > /etc/apt/sources.list.d/backports.debian.org.list
+cat << EOT > /etc/apt/preferences.d/backports.debian.org.pref
+Package: *
+Pin: release a=squeeze-backports
+Pin-Priority: 200
+EOT
+
+apt-get update -y
+# Backports' Release files signed with both ftpmaster and old backports keys
+# That causes APT to spit out a warning, but to not confuse users, lets simply
+# obtain that key if possible
+gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16BA136C && \
+ gpg --export 16BA136C | apt-key add - || :
+
+apt-get install -y --allow-unauthenticated neurodebian-keyring
+apt-get update -y
+
+# to cheat the VM check
+touch /dev/vboxguest
+
+# Assure that corresponding linux headers are installed since otherwise they
+# might not be. There is also a dichotomy between target 686 and installer
+# using 486 build of the kernel. It requires manual build/installation
+# of guest additions for 686 at this point. Hence all the ugly logic below
+cunamer=`uname -r`
+cdarch=${cunamer##*-}
+# We carry 686 only
+[ $cdarch = '486' ] && darch='686' || darch=$cdarch
+apt-get install -y linux-headers-2.6-$cdarch
+
+# Forcefully install guest additions from backports so we are
+# compatible with VirtualBox 4.x series
+apt-get install -y -t squeeze-backports virtualbox-ose-guest-dkms \
+ virtualbox-ose-guest-utils virtualbox-ose-guest-x11 \
+ >| /var/log/initial_setup-dkms.log 2>&1
+
+# to get all the rest stuff in recommends
+apt-get install -y dkms neurodebian-guest-additions
+
+if [ "$darch" != "$cdarch" ] ; then
+ # Because DKMS builds for currently running kernel, which during
+ # installation might be a more generic 486, lets force building for 686
+ # and also install necessary headers (will be purged later on anyways)
+ apt-get install -y linux-headers-2.6-$darch
+
+ unamer=${cunamer//$cdarch/$darch}
+ # First collect information about installed vb additions
+ vbg=( `dkms status | grep virtualbox | head -n 1 | tr ',' ' '` )
+ echo "I: forcing build and install of guest additions for 686"
+ dkms build -m ${vbg[0]} -v ${vbg[1]} -a i686 -k $unamer \
+ >| /var/log/initial_setup-dkms-686-build.log 2>&1
+ dkms install -m ${vbg[0]} -v ${vbg[1]} -a i686 -k $unamer \
+ >| /var/log/initial_setup-dkms-686-install.log 2>&1
+fi
+
+# Add brain use into vboxsf group so he gets access to shared folders
+# by default
+adduser brain vboxsf
+
+# assure at the end that we got right modules build in the right location
+find /lib/modules/*$darch -iname vboxsf.ko | grep -q .
+
+apt-get install --no-install-recommends -y \
+ gnome-core mc evince bash-completion ntpdate file-roller gnome-utils \
+ gnome-themes eog vim reportbug \
+ software-center gdebi gedit-plugins gnome-media synaptic menu less libxp6
+
+# Clean-up installed development files which got pulled in for
+# VM guest additions (to build kernel modules via DKMS)
+apt-get purge -y libc6-dev
+dpkg -l | awk '/^ii.*[ \t]linux-headers/{print $2;}' | xargs -r apt-get purge -y
+
+# Gnome optional pulled by gnome-core:
+apt-get purge -y gnome-core evolution-common evolution libevolution
+
+# And utter cleanup
+apt-get -y autoremove
+
+# intermediate cleanup to prevent virtual harddrive from fragmenting too much
+find /var/cache/apt/archives/ -name '*.deb' -delete
+
+# cleanup unwanted stuff
+# video drivers (all but vesa)
+apt-get purge -y $(apt-cache search --names-only --installed xserver-xorg-video | grep xserver-xorg-video | cut -d ' ' -f 1,1) xserver-xorg-video-vesa+
+apt-get purge -y brasero
+
+# and whatever is obsolete
+apt-get autoremove --purge -y
+
+# custom config
+# use NeuroDebian website as default homepage
+sed -i -e 's,http://www.debian.org,http://neuro.debian.net,g' /etc/chromium-browser/master_preferences
+
+# reduce grub timeout to speed up boot of VM
+sed -i -e 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=1/g' /etc/default/grub
+update-grub
+
+# finally configure geomirror for APT and disable deb-src lists
+sed -i -e "s/10.0.0.1:9999/$(dpkg --print-architecture)-geomirror.debian.net/" \
+ -e "s/^deb-src/#deb-src/" /etc/apt/sources.list
+
+etckeeper commit "Initial VM setup done"
+
+# Create a link to automatically mounted Shared folder
+# Created by the Welcome Wizard
+#sudo -u brain ln -s /mnt/host /home/brain/
# Keyboard selection.
#d-i console-tools/archs select at
-d-i console-keymaps-at/keymap select us
+#d-i console-setup-pc-ekmap/keymap select us
+d-i countrychooser/country-name select United States
# Example for a different keyboard architecture
#d-i console-keymaps-usb/keymap select mac-usb-us
#d-i mirror/http/proxy string
# Suite to install.
-d-i mirror/suite string squeeze
+d-i mirror/suite string wheezy
# Suite to use for loading installer components (optional).
#d-i mirror/udeb/suite string testing
# packages and run commands in the target system.
#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
#d-i preseed/late_command string wget -O/target/tmp/initial_setup http://git.debian.org/?p=pkg-exppsy/neurodebian.git;a=blob_plain;f=vm/d-i/tools/initial_setup;hb=HEAD; \
-d-i preseed/late_command string wget -O/target/tmp/initial_setup http://head1.hydra.dartmouth.edu/d-i/tools/initial_setup ; \
+d-i preseed/late_command string wget -O/target/tmp/initial_setup http://head1.hydra.dartmouth.edu/d-i/wheezy/initial_setup ; \
in-target /bin/bash /tmp/initial_setup
# XXX here get/call nd_setupguestos ?