refactored setup script and added install option
This commit is contained in:
parent
5dbec4cc5a
commit
a9c78171fc
110
setup.sh
110
setup.sh
|
@ -10,49 +10,81 @@ startx_command="startlxqt"
|
|||
. ./connection.sh
|
||||
. ./user.sh
|
||||
|
||||
choice=""
|
||||
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/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..."
|
||||
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
|
||||
;;
|
||||
else
|
||||
echo "\"$answer\" is not a valid option."
|
||||
choose_option
|
||||
fi
|
||||
}
|
||||
|
||||
clear
|
||||
echo "=== Welcome to Tildelinux! ==="
|
||||
configure_network
|
||||
|
||||
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/tildes
|
||||
if [ -f ./setup_incomplete ]
|
||||
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..."
|
||||
connection_test "$key_file" "$tilde_username" "$tilde_name"
|
||||
choose_option
|
||||
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'
|
||||
setup_tildelinux
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue