#!/bin/sh # check we have ssh access [ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5 _home_dir="/home/$user" ssh -T $ssh_root << EOSSH echo "Creating user .." useradd -m -d "$_home_dir" "$user" echo "$user:$user_pass" | chpasswd usermod -aG sudo "$user" EOSSH echo "Configuring ssh .." ssh $ssh_root mkdir -v -p "$_home_dir/.ssh" scp files/private/id_rsa "$ssh_root:$_home_dir/.ssh/" scp files/id_rsa.pub "$ssh_root:$_home_dir/.ssh/" scp files/known_hosts "$ssh_root:$_home_dir/.ssh/" ssh -T $ssh_root << EOSSH cp -v /root/.ssh/authorized_keys "$_home_dir/.ssh/authorized_keys" chown -v -R "$user:$group" "$_home_dir/.ssh" echo "Adding user: $user" if [ -f /etc/locale.gen ] && command -v locale-gen ; then echo 'en_GB.UTF-8 UTF-8' > /etc/locale.gen locale-gen echo 'LANG="en_GB.UTF-8"' > /etc/default/locale else echo 'Warning: cannot set locale' fi echo "Installing required packages .." export DEBIAN_FRONTEND=noninteractive echo "Installing packages .." apt-get -qq -y install sudo git tmux zsh curl echo "Packages installed" echo "Cloning configuration files .." su --login "$user" git config --global user.name rayelliott git config --global user.email dev@rayelliott.dev mkdir -v -p "$_home_dir/.config" if [ -e "$_home_dir/.config/profile" ] ; then mv -v "$_home_dir/.config/profile" "$_home_dir/.config/profile-original-$(date +%s)" fi git clone ssh://git@git.rayelliott.dev:3222/dots/profile.git "$_home_dir/.config/profile" "$_home_dir/.config/profile/install.sh" if [ -e "$_home_dir/.config/tmux" ] ; then mv -v "$_home_dir/.config/tmux" "$_home_dir/.config/tmux-original-$(date +%s)" fi git clone ssh://git@git.rayelliott.dev:3222/dots/tmux.git "$_home_dir/.config/tmux" "$_home_dir/.config/tmux/install.sh" if [ -e "$_home_dir/.config/zsh" ] ; then mv -v "$_home_dir/.config/zsh" "$_home_dir/.config/zsh-original-$(date +%s)" fi git clone ssh://git@git.rayelliott.dev:3222/dots/zsh.git "$_home_dir/.config/zsh" "$_home_dir/.config/zsh/install.sh" EOSSH ssh -T $ssh_root << EOSSH chsh -s /usr/bin/zsh "$user" EOSSH echo "Configuring wakatime plugin .." pwd scp files/private/wakatime.cfg "$user@$domain:/home/$user/.wakatime.cfg"