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
|
. ./connection.sh
|
||||||
. ./user.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
|
clear
|
||||||
echo "=== Welcome to Tildelinux! ==="
|
echo "=== Welcome to Tildelinux! ==="
|
||||||
configure_network
|
configure_network
|
||||||
|
|
||||||
echo "What tilde would you like to connect to? (use the domain name as you would for ssh)"
|
if [ -f ./setup_incomplete ]
|
||||||
read tilde_name
|
|
||||||
|
|
||||||
echo "What is your username for $tilde_name?"
|
|
||||||
read tilde_username
|
|
||||||
|
|
||||||
if ! grep -q "$tilde_username@$tilde_name" /tilde/tildes
|
|
||||||
then
|
then
|
||||||
echo "Now you will need to provide tildelinux with your ssh private key"
|
choose_option
|
||||||
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
|
else
|
||||||
key_file="$(cat /tilde/tildes \
|
setup_tildelinux
|
||||||
| grep -A4 "Host $tilde_username@$tilde_name" \
|
fi
|
||||||
| 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'
|
|
||||||
|
|
Loading…
Reference in New Issue