#!/bin/sh configure_user_files() { key_file="$1" tilde_username="$2" tilde_name="$3" user_homedir="$4" user_homedir="/home/$tilde_username" tilde_homedir="/tilde/$tilde_name/home/$tilde_username" sed "s|{{ TILDE_USERNAME }}|$tilde_username|g" "./templates/dotprofile.template" > "$user_homedir/.profile" sed -i "s|{{ TILDE_NAME }}|$tilde_name|g" "$user_homedir/.profile" sed -i "s|{{ KEY_FILE }}|$key_file|g" "$user_homedir/.profile" sed -i "s|{{ TILDE_HOMEDIR }}|$tilde_homedir|g" "$user_homedir/.profile" sed -i "s|{{ USER_HOMEDIR }}|$user_homedir|g" "$user_homedir/.profile" sed "s|{{ TILDE_HOMEDIR }}|$tilde_homedir|g" "./templates/user-dirs.dirs.template" > "$user_homedir/.config/user-dirs.dirs" sed "s|{{ TILDE_HOMEDIR }}|$tilde_homedir|g" "./templates/dotbashrc.template" > "$user_homedir/.bashrc" sed "s|{{ TILDE_USERNAME }}|$tilde_username|g" "./templates/remote_command.template" > "/tilde/bin/$tilde_name" sed -i "s|{{ TILDE_NAME }}|$tilde_name|g" "/tilde/bin/$tilde_name" sed -i "s|{{ KEY_FILE }}|$key_file|g" "/tilde/bin/$tilde_name" chmod +x "/tilde/bin/$tilde_name" } configure_user() { key_file="$1" tilde_username="$2" tilde_name="$3" startx_command="$4" user_homedir="/home/$tilde_username" tilde_homedir="/tilde/$tilde_name/home/$tilde_username" mkdir -p "$tilde_homedir" mkdir "/tilde/$tilde_name/key/" mv "$key_file" "/tilde/$tilde_name/key/" key_file="/tilde/$tilde_name/key/$(basename $key_file)" if ! id -u "$tilde_username" >/dev/null 2>&1 then mkdir -p "$user_homedir" cp "/root/.gtkrc-2.0" "$user_homedir" cp -r "/root/.config" "$user_homedir" useradd "$tilde_username" -d "$user_homedir" chown -R "$tilde_username:$tilde_username" "$user_homedir" echo "$startx_command" > "$user_homedir/.xinitrc" usermod -a -G sudo "$tilde_username" mkdir '/etc/systemd/system/getty@tty1.service.d' echo "[Service]" > '/etc/systemd/system/getty@tty1.service.d/override.conf' echo "ExecStart=" >> '/etc/systemd/system/getty@tty1.service.d/override.conf' echo "ExecStart=-/sbin/agetty --autologin $tilde_username %I \$TERM" >> '/etc/systemd/system/getty@tty1.service.d/override.conf' echo "Type=idle" >> '/etc/systemd/system/getty@tty1.service.d/override.conf' chsh -s '/bin/bash' "$tilde_username" fi touch "$user_homedir/first_login" configure_user_files "$key_file" "$tilde_username" "$tilde_name" "$user_homedir" chown -R "$tilde_username:$tilde_username" "$tilde_homedir" chown "$tilde_username:$tilde_username" "$key_file" sed "s|{{ TILDE_NAME }}|$tilde_name|g" "./templates/tilde_entry.template" >> "/tilde/tildes" sed -i "s|{{ TILDE_USERNAME }}|$tilde_username|g" "/tilde/tildes" sed -i "s|{{ KEY_FILE }}|$key_file|g" "/tilde/tildes" echo "$tilde_username@$tilde_name" > /tilde/current_tilde systemctl daemon-reload }