dotfiles/bin/setup-server

48 lines
968 B
Bash
Executable File

#!/usr/bin/env bash
NORMAL=$(tput sgr0)
GREEN=$(tput setaf 2; tput bold)
YELLOW=$(tput setaf 3)
RED=$(tput setaf 1)
function red() { echo -e "$RED$*$NORMAL"; }
function green() { echo -e "$GREEN$*$NORMAL"; }
function yellow() { echo -e "$YELLOW$*$NORMAL"; }
if [ ! $# == 2 ]; then
echo "Usage: $0 <user> <host>"
exit 1;
fi
USER=$1
HOST=$2
IP=`dig +short $HOST`
if [ -z "$IP" ]; then
IP=$HOST
fi
grep "Host $HOST" ~/.ssh/config 2>&1 > /dev/null
if [ 0 -eq $? ]; then
echo $HOST is already in .ssh/config
else
echo Adding server to .ssh/config...
cat >> ~/.ssh/config <<END_OF_HOST
Host $HOST
HostName $IP
User $USER
END_OF_HOST
fi
echo Copying .ssh directory to $USER@$HOST...
scp -qr $HOME/.ssh/ $HOST:
echo Installing dotfiles...
ssh $HOST 'find . -maxdepth 1 -type l -exec unlink {} \;; rm $HOME/.bash*; curl -s https://dot.jacobkiers.net | bash'
echo
green Done installing server. You will now be logged in.
ssh $HOST