home · contact · privacy
Restructure symlinks, add new server type postinstall.
[config] / jessie_postinstall.sh
index 007d594a4ed8605347a2c83238997bb46b941df7..0a6fcf74355b574ee9bbc5d6523015483cfc043d 100755 (executable)
@@ -6,11 +6,32 @@ if [ ! "$1" = "thinkpad" ] && [ ! "$1" = "server" ]; then
     echo "Need argument."
     false
 fi
-
 if [ "$1" = "thinkpad" ] && [ ! "$2" = "X200s" ] && [ ! "$2" = "T450s" ]; then
     echo "Need Thinkpad type."
     false
 fi
+if [ "$1" = "server" ] && [ ! "$2" = "personal" ] && [ ! "$2" = "public" ]; then
+    echo "Need server purpose."
+    false
+fi
+if [ "$2" = "personal" ] && [ ! "$3" = "test.plomlompom.com" ] && \
+    [ ! "$3" = "plomlompom.com" ]; then
+    echo "Need server domain"
+    false
+fi
+
+# Some important variables
+if [ "$3" = "plomlompom.com" ]; then
+    hostname="plomlompom"
+elif [ "$3" = "test.plomlompom.com" ]; then
+    hostname="test.plomlompom"
+elif [ "$2" = "public" ]; then
+    hostname="twtxt.plomlompom"
+elif [ "$2" = "X200s" ]; then
+    hostname="X220s"
+elif [ "$2" = "T450s" ]; then
+    hostname="T450s"
+fi
 
 if [ "$1" = "server" ]; then
     # Set root pw.
@@ -35,13 +56,13 @@ rm list_all_packages list_white_unsorted list_white list_black
 echo 'APT::Install-Recommends "false";' >> /etc/apt/apt.conf.d/99mindeps
 echo 'APT::Install-Suggests "false";' >> /etc/apt/apt.conf.d/99mindeps
 
+# Set hostname and FQDN.
+echo $hostname > /etc/hostname
+hostname $hostname
 if [ "$1" = "server" ]; then
-    # Set hostname and FQDN.
-    echo 'plomlompom' > /etc/hostname
-    hostname 'plomlompom'
     echo '127.0.0.1 localhost' > /etc/hosts
-    ip=`hostname -I`
-    echo "$ip plomlompom.com plomlompom" >> /etc/hosts
+    ip=`hostname -I | cut -d " " -f 1`
+    echo "$ip $hostname.com $hostname" >> /etc/hosts
 
     # Call dhclient on startup.
     cat > /etc/systemd/system/dhclient.service << EOF
@@ -65,10 +86,8 @@ echo 'deb http://security.debian.org/ jessie/updates main contrib non-free' \
 echo 'deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free' \
     >> /etc/apt/sources.list
 if [ "$1" = "thinkpad" ]; then
-    if [ "$2" = "T450s" ]; then
-        echo 'deb http://ftp.debian.org/debian/ jessie-backports main contrib' \
+    echo 'deb http://ftp.debian.org/debian/ jessie-backports main contrib' \
 ' non-free' >> /etc/apt/sources.list
-    fi
     echo 'deb http://ftp.debian.org/debian/ testing main contrib non-free' \
         >> /etc/apt/sources.list
     echo 'deb http://security.debian.org/ testing/updates main contrib' \
@@ -138,7 +157,13 @@ config/bin/symlink.sh
 useradd -m -s /bin/bash plom
 rm -rf /home/plom/config
 su - plom -c 'git clone http://github.com/plomlompom/config /home/plom/config'
-su plom -c '/home/plom/config/bin/symlink.sh '$1
+su plom -c '/home/plom/config/bin/symlink.sh '$1' '$2' '$3
+
+# Allow user to sudo.
+if [ "$1" = "thinkpad" ]; then
+    apt-get -y install sudo
+    adduser plom sudo
+fi
 
 # Set up editor.
 mkdir -p .vimbackups
@@ -161,6 +186,7 @@ if [ "$1" = "server" ]; then
     DEBIAN_FRONTEND=noninteractive apt-get -y install getmail4 procmail mutt \
         postfix maildrop
     cp config/systemfiles/main.cf /etc/postfix/main.cf
+    sed -i 's/HOSTNAME/'$hostname.com'/g' /etc/postfix/main.cf
     cp config/systemfiles/aliases /etc/aliases
     newaliases
     service postfix restart
@@ -205,26 +231,28 @@ elif [ "$1" = "thinkpad" ]; then
         amixer -c 0 sset Master playback 100% unmute
     elif [ "$2" = "T450s" ]; then
         amixer -c 1 sset Master playback 100% unmute
+        # Re-order souncards so the commonly used one is the first one.
+        echo 'options snd_hda_intel index=1,0' >> /etc/modprobe.d/sound.conf
     fi
 
     # Set up window system, i3, redshift.
     apt-get -y install xserver-xorg xinit xterm i3 i3status dmenu redshift
 
     # Set up OpenGL and hardware acceleration.
-    if [ "$1" = "X220s" ]; then
-        apt-get -y install libgl1-mesa-dri
+    if [ "$2" = "X200s" ]; then
         apt-get -y install i965-va-driver
-        usermod -aG video plom
     elif [ "$2" = "T450s" ]; then
         apt-get -y -t jessie-backports install xserver-xorg-video-intel
     fi
+    apt-get -y install libgl1-mesa-dri
+    usermod -aG video plom
 
     # Install xrandr.
     apt-get -y install x11-xserver-utils
 
     # Set up pentadactyl. 
     apt-get -y install iceweasel
-    apt-get -y -t testing install xul-ext-pentadactyl
+    apt-get -y -t jessie-backports install xul-ext-pentadactyl
     apt-get -y install vim-gtk
     su plom -c 'mkdir -p /home/plom/downloads/'