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-----')" ]
|
while [ -z "$(cat $key_file | head -n1 | grep -- '-----BEGIN .* PRIVATE KEY-----')" ]
|
||||||
do
|
do
|
||||||
echo "$key_file does not look like a private key file, try again"
|
echo "$key_file does not look like a private key file, try again"
|
||||||
|
key_file="$(find /tilde/key | tail -n1)"
|
||||||
bash
|
bash
|
||||||
done
|
done
|
||||||
ssh_command="ssh -i $key_file $tilde_username@$tilde_name"
|
ssh_command="ssh -i $key_file $tilde_username@$tilde_name"
|
||||||
|
@ -25,21 +26,44 @@ connection_test() {
|
||||||
done
|
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() {
|
configure_user() {
|
||||||
mkdir -p "/tmp/home/$tilde_username"
|
user_homedir="/home/$tilde_username"
|
||||||
cp "/root/.gtkrc-2.0" "/tmp/home/$tilde_username"
|
tilde_homedir="/tilde/$tilde_name/home/$tilde_username"
|
||||||
cp -r "/root/.config" "/tmp/home/$tilde_username"
|
|
||||||
mkdir "/home/$tilde_username"
|
mkdir -p "$tilde_homedir"
|
||||||
useradd "$tilde_username" -d "/tmp/home/$tilde_username"
|
mkdir -p "$user_homedir"
|
||||||
chown "$tilde_username:$tilde_username" "/home/$tilde_username"
|
|
||||||
chown "$tilde_username:$tilde_username" "/tmp/home/$tilde_username"
|
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"
|
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 "$startx_command" > "$user_homedir/.xinitrc"
|
||||||
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"
|
|
||||||
usermod -a -G sudo "$tilde_username"
|
usermod -a -G sudo "$tilde_username"
|
||||||
|
|
||||||
mkdir '/etc/systemd/system/getty@tty1.service.d'
|
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
|
#!/bin/sh
|
||||||
|
|
||||||
. ./util.sh
|
|
||||||
. ./basics.sh
|
|
||||||
. ./irc.sh
|
|
||||||
|
|
||||||
export tilde_name=""
|
export tilde_name=""
|
||||||
export tilde_username=""
|
export tilde_username=""
|
||||||
export key_file=""
|
export key_file=""
|
||||||
|
export startx_command="startlxqt"
|
||||||
|
|
||||||
|
. ./util.sh
|
||||||
|
. ./basics.sh
|
||||||
|
. ./irc.sh
|
||||||
|
|
||||||
#configure_tilde
|
#configure_tilde
|
||||||
#configure_irc
|
#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