X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;ds=sidebyside;f=jessie_postinstall.sh;h=4527374eeb524d55e4b16bdc1294130cb92286cf;hb=e54aa50fe04f6d1d0f0ec10525024e4bb12f7b94;hp=08b34ab8367819c35cdecc8816c96583da5a9c5d;hpb=70a844d0728f2664069a55dcf38c33e5a41ed70f;p=config
diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh
index 08b34ab..4527374 100755
--- a/jessie_postinstall.sh
+++ b/jessie_postinstall.sh
@@ -6,23 +6,27 @@ 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" = "plomlompom.com" ] && \
- [ ! "$2" = "test.plomlompom.com" ]; then
- echo "Need server type."
+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 [ "$2" = "plomlompom.com" ]; then
+if [ "$3" = "plomlompom.com" ]; then
hostname="plomlompom"
-elif [ "$2" = "test.plomlompom.com" ]; then
+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
@@ -57,8 +61,8 @@ echo $hostname > /etc/hostname
hostname $hostname
if [ "$1" = "server" ]; then
echo '127.0.0.1 localhost' > /etc/hosts
- ip=`hostname -I`
- echo "$ip $2 $hostname" >> /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
@@ -153,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' '$2
+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
@@ -172,33 +182,50 @@ if [ "$1" = "server" ]; then
su plom -c 'mkdir -p /home/plom/mail/inbox/{cur,new,tmp}'
su plom -c 'mkdir -p /home/plom/mail/new_inbox/{cur,new,tmp}'
sed -i 's/^delete = true$/delete = false/g' \
- /home/plom/config/dotfiles/user/server/getmail/getmailrc
- DEBIAN_FRONTEND=noninteractive apt-get -y install getmail4 procmail mutt \
- postfix maildrop
+ /home/plom/config/dotfiles/user/server/personal/minimal/getmail/getmailrc
+ DEBIAN_FRONTEND=noninteractive apt-get -y install 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
+ if [ "$2" = "personal" ]; then
+ apt-get -y install getmail4 procmail
+ fi
# Set up regular system update reminder.
apt-get -y install cron
su plom -c "echo '0 18 * * 0 ~/config/bin/simplemail.sh '\
'~/config/mails/update_reminder' | crontab -"
- # Set up screen/weechat/OTR/bitlbee. Make bitlbee listen only locally.
- apt-get -y install screen weechat-plugins python-potr bitlbee
- sed -i 's/^# DaemonInterface/DaemonInterface = 127.0.0.1 '\
+ if [ "$2" = "personal" ]; then
+ # Set up screen/weechat/OTR/bitlbee. Make bitlbee listen only locally.
+ apt-get -y install screen weechat-plugins python-potr bitlbee
+ sed -i 's/^# DaemonInterface/DaemonInterface = 127.0.0.1 '\
'# DaemonInterface/' /etc/bitlbee/bitlbee.conf
- sedtest=`grep -E '^DaemonInterface = 127.0.0.1 #' \
- /etc/bitlbee/bitlbee.conf | wc -l | cut -d ' ' -f 1`
- if [ 0 -eq $sedtest ]; then
- false
+ sedtest=`grep -E '^DaemonInterface = 127.0.0.1 #' \
+ /etc/bitlbee/bitlbee.conf | wc -l | cut -d ' ' -f 1`
+ if [ 0 -eq $sedtest ]; then
+ false
+ fi
+ cp config/systemfiles/weechat.service \
+ /etc/systemd/system/weechat.service
+ systemctl enable /etc/systemd/system/weechat.service
+
+ # Send instructions mail.
+ config/bin/simplemail.sh config/mails/server_postinstall_finished
+ elif [ "$2" = "public" ]; then
+ su plom -c '~/config/setup_go.sh '\
+'https://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz'
+ su plom -c 'git clone '\
+ 'https://github.com/plomlompom/htwtxt $GOPATH/src/htwtxt'
+ su plom -c 'go get htwtxt'
+ su plom -c 'mkdir ~/htwtxt'
+ su plom -c 'cp -R $GOPATH/src/htwtxt/templates ~/htwtxt'
+ cp config/systemfiles/htwtxt.service \
+ /etc/systemd/system/htwtxt.service
+ systemctl enable /etc/systemd/system/htwtxt.service
fi
- cp config/systemfiles/weechat.service /etc/systemd/system/weechat.service
- systemctl enable /etc/systemd/system/weechat.service
-
- # Send instructions mail.
- config/bin/simplemail.sh config/mails/server_postinstall_finished
elif [ "$1" = "thinkpad" ]; then
# Set up networking (wifi!).