tl-setup refactor
This commit is contained in:
parent
9aa9831f9b
commit
fadc6604f3
50
basics.sh
50
basics.sh
|
@ -10,6 +10,7 @@ check_key_file() {
|
|||
while [ -z "$(cat $key_file | head -n1 | grep -- '-----BEGIN .* PRIVATE KEY-----')" ]
|
||||
do
|
||||
echo "$key_file does not look like a private key file, try again"
|
||||
key_file="$(find /tilde/key | tail -n1)"
|
||||
bash
|
||||
done
|
||||
ssh_command="ssh -i $key_file $tilde_username@$tilde_name"
|
||||
|
@ -25,21 +26,44 @@ connection_test() {
|
|||
done
|
||||
}
|
||||
|
||||
|
||||
configure_user_files() {
|
||||
# TODO: refactor file creation to be script-independant
|
||||
# user_homedir=$1
|
||||
# tilde_homedir=$2
|
||||
|
||||
user_homedir="/home/$tilde_username"
|
||||
tilde_homedir="/tilde/$tilde_name/home/$tilde_username"
|
||||
|
||||
sed "s|{{ TILDE_USERNAME }}|$tilde_username|g" "./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" "./user-dirs.dirs.template" > "$user_homedir/.config/user-dirs.dirs"
|
||||
sed "s|{{ TILDE_HOMEDIR }}|$tilde_homedir|g" "./dotbashrc.template" > "$user_homedir/.bashrc"
|
||||
}
|
||||
|
||||
configure_user() {
|
||||
mkdir -p "/tmp/home/$tilde_username"
|
||||
cp "/root/.gtkrc-2.0" "/tmp/home/$tilde_username"
|
||||
cp -r "/root/.config" "/tmp/home/$tilde_username"
|
||||
mkdir "/home/$tilde_username"
|
||||
useradd "$tilde_username" -d "/tmp/home/$tilde_username"
|
||||
chown "$tilde_username:$tilde_username" "/home/$tilde_username"
|
||||
chown "$tilde_username:$tilde_username" "/tmp/home/$tilde_username"
|
||||
user_homedir="/home/$tilde_username"
|
||||
tilde_homedir="/tilde/$tilde_name/home/$tilde_username"
|
||||
|
||||
mkdir -p "$tilde_homedir"
|
||||
mkdir -p "$user_homedir"
|
||||
|
||||
cp "/root/.gtkrc-2.0" "$user_homedir"
|
||||
cp -r "/root/.config" "$user_homedir"
|
||||
|
||||
configure_user_files
|
||||
|
||||
useradd "$tilde_username" -d "$user_homedir"
|
||||
chsh -s '/bin/bash' "$tilde_username"
|
||||
chown -R "$tilde_username:$tilde_username" "$user_homedir"
|
||||
chown -R "$tilde_username:$tilde_username" "$tilde_homedir"
|
||||
chown "$tilde_username:$tilde_username" "$key_file"
|
||||
echo "echo Mounting sshfs filesystem..." > "/tmp/home/$tilde_username/.profile"
|
||||
echo "sshfs $tilde_username@$tilde_name:/home/$tilde_username /home/$tilde_username -o ssh_command=\"ssh -i $key_file\"" >> "/tmp/home/$tilde_username/.profile"
|
||||
echo "export HOME=/home/$tilde_username" >> "/tmp/home/$tilde_username/.profile"
|
||||
echo "cd /home/$tilde_username" >> "/tmp/home/$tilde_username/.profile"
|
||||
echo "HOME=/tmp/home/$tilde_username startx" >> "/tmp/home/$tilde_username/.profile"
|
||||
echo "startlxqt" > "/tmp/home/$tilde_username/.xinitrc"
|
||||
|
||||
echo "$startx_command" > "$user_homedir/.xinitrc"
|
||||
usermod -a -G sudo "$tilde_username"
|
||||
|
||||
mkdir '/etc/systemd/system/getty@tty1.service.d'
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
export HOME="{{ TILDE_HOMEDIR }}"
|
|
@ -0,0 +1,20 @@
|
|||
echo Mounting sshfs filesystem...
|
||||
|
||||
echo "Waiting for network... (^C to abort)"
|
||||
while [ "$(nmcli networking connectivity)" != "full" ]
|
||||
do
|
||||
echo "."
|
||||
sleep 1
|
||||
done
|
||||
echo "Network found, mounting sshfs..."
|
||||
|
||||
if ( sshfs {{ TILDE_USERNAME }}@{{ TILDE_NAME }}:/home/{{ TILDE_USERNAME }} {{ TILDE_HOMEDIR }} -o nonempty,allow_root,ssh_command="ssh -i {{ KEY_FILE }}" )
|
||||
then
|
||||
export XDG_CONFIG_HOME="{{ USER_HOMEDIR }}/.config"
|
||||
export XDG_DATA_HOME="{{ USER_HOMEDIR }}/.local/share"
|
||||
xdg-user-dirs-update --force
|
||||
cd {{ TILDE_HOMEDIR }}
|
||||
startx
|
||||
else
|
||||
echo "Failed to mount, aborting..."
|
||||
fi
|
9
setup.sh
9
setup.sh
|
@ -1,12 +1,13 @@
|
|||
#!/bin/sh
|
||||
|
||||
. ./util.sh
|
||||
. ./basics.sh
|
||||
. ./irc.sh
|
||||
|
||||
export tilde_name=""
|
||||
export tilde_username=""
|
||||
export key_file=""
|
||||
export startx_command="startlxqt"
|
||||
|
||||
. ./util.sh
|
||||
. ./basics.sh
|
||||
. ./irc.sh
|
||||
|
||||
#configure_tilde
|
||||
#configure_irc
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
XDG_DESKTOP_DIR="{{ TILDE_HOMEDIR }}/Desktop"
|
||||
XDG_DOCUMENTS_DIR="{{ TILDE_HOMEDIR }}/Documents"
|
||||
XDG_DOWNLOAD_DIR="{{ TILDE_HOMEDIR }}/Downloads"
|
||||
XDG_MUSIC_DIR="{{ TILDE_HOMEDIR }}/Music"
|
||||
XDG_PICTURES_DIR="{{ TILDE_HOMEDIR }}/Pictures"
|
||||
XDG_PUBLICSHARE_DIR="{{ TILDE_HOMEDIR }}/Public"
|
||||
XDG_TEMPLATES_DIR="{{ TILDE_HOMEDIR }}/Templates"
|
||||
XDG_VIDEOS_DIR="{{ TILDE_HOMEDIR }}/Videos"
|
Loading…
Reference in New Issue