99 lines
2.3 KiB
Bash
Executable File
99 lines
2.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
key_file=""
|
|
tilde_username=""
|
|
tilde_name=""
|
|
|
|
startx_command="startlxqt"
|
|
|
|
. ./util.sh
|
|
. ./connection.sh
|
|
. ./user.sh
|
|
|
|
setup_tildelinux() {
|
|
echo "What tilde would you like to connect to? (use the domain name as you would for ssh)"
|
|
read tilde_name
|
|
|
|
echo "What is your username for $tilde_name?"
|
|
read tilde_username
|
|
|
|
if grep -q "$tilde_username@$tilde_name" /tilde/current_tilde
|
|
then
|
|
echo "You are already using $tilde_name as $tilde_username! Exiting..."
|
|
exit
|
|
fi
|
|
|
|
if ! grep -q "$tilde_username@$tilde_name" /tilde/tildes
|
|
then
|
|
echo "Now you will need to provide tildelinux with your ssh private key"
|
|
echo "By whatever means, place your private key in the /tilde/key directory"
|
|
echo "Here is a shell, once the key is in the proper location, simply type \"exit\" to close the shell and continue"
|
|
bash
|
|
|
|
echo "Looking for key file..."
|
|
key_file="$(find_key_file '/tilde/key')"
|
|
while [ -z "$key_file" ]
|
|
do
|
|
echo "Could not find a valid key file in /tilde/key"
|
|
echo "Use this shell to try and fix any problems, then check again by exiting this shell"
|
|
echo "Use \`exit 1\` to abort the install"
|
|
bash || fail
|
|
key_file="$(find_key_file '/tilde/key')"
|
|
done
|
|
echo "Key file located at $key_file, testing connection..."
|
|
chmod 600 "$key_file"
|
|
connection_test "$key_file" "$tilde_username" "$tilde_name"
|
|
else
|
|
key_file="$(cat /tilde/tildes \
|
|
| grep -A4 "Host $tilde_username@$tilde_name" \
|
|
| grep "IdentityFile" \
|
|
| cut -f2 -d ' ')"
|
|
echo "$tilde_name found in /tilde/tildes, using $key_file as key file"
|
|
fi
|
|
|
|
echo "Configuring user..."
|
|
configure_user "$key_file" "$tilde_username" "$tilde_name" "$startx_command"
|
|
echo "User configured!"
|
|
|
|
echo "All done! Enjoy using Tildelinux!"
|
|
rm ./setup_incomplete
|
|
systemctl restart 'getty@tty1.service'
|
|
}
|
|
|
|
choose_option() {
|
|
answers="1 2"
|
|
answer=""
|
|
|
|
|
|
echo "What would you like to do?"
|
|
echo "1. Configure Tildelinux for use as a live system"
|
|
echo "2. Install Tildelinux to a disk"
|
|
read -r answer
|
|
|
|
if is_substring "$answer" "$answers"
|
|
then
|
|
case "$answer" in
|
|
"1")
|
|
setup_tildelinux
|
|
;;
|
|
"2")
|
|
startx
|
|
;;
|
|
esac
|
|
else
|
|
echo "\"$answer\" is not a valid option."
|
|
choose_option
|
|
fi
|
|
}
|
|
|
|
clear
|
|
echo "=== Welcome to Tildelinux! ==="
|
|
configure_network
|
|
|
|
if ! [ -f ./is_live ]
|
|
then
|
|
choose_option
|
|
else
|
|
setup_tildelinux
|
|
fi
|