#!/bin/bash # Todo: # - Add error handling for each step read -p "Gibson Share Password: " GIBSON_PASS HDOS_ROOT=/opt/hdos if [ -d ${HDOS_ROOT} ]; then rm -rf ${HDOS_ROOT} fi if [ "$(id -u)" -ne 0 ]; then echo "This script must be run as root" exit 1 fi chmod +x ${HDOS_ROOT}/scripts/* apt install git sudo curl wget zsh -yqq git clone https://git.corrupt.link/liz/hdos.git ${HDOS_ROOT} chmod -R 755 ${HDOS_ROOT} apt update apt full-upgrade -yqq INSTALLED=`dpkg --get-selections | grep -e " install$" | sed -e 's/\t\+install//'` while read PACKAGE; do if ! echo "$INSTALLED" | grep -q "^$PACKAGE$"; then apt install -yqq "$PACKAGE" fi done < ${HDOS_ROOT}/lists/apt-packages apt autoremove -y cat ${HDOS_ROOT}/dotfiles/rc_addition >> /home/hacdc/.zshrc groupadd --gid 1900 classroom usermod -aG classroom hacdc useradd -m -s /usr/bin/zsh -G dialout,cdrom,floppy,audio,video,wireshark,classroom guest cp /home/hacdc/.zshrc /home/guest/.zshrc chown guest:guest /home/guest/.zshrc sudo -u hacdc ${HDOS_ROOT}/scripts/nvm sudo -u hacdc ${HDOS_ROOT}/scripts/pyenv sudo -u guest ${HDOS_ROOT}/scripts/nvm sudo -u guest ${HDOS_ROOT}/scripts/pyenv # Generate GPG framework sudo -u hacdc gpg --list-keys sudo -u guest gpg --list-keys # Setup Shared Directory SHARED_DIR=/mnt/gibson if [ ! -d ${SHARED_DIR} ]; then mkdir -p ${SHARED_DIR} cat ${HDOS_ROOT}/dotfiles/gibson > /etc/gibson chmod 600 /etc/gibson cat ${HDOS_ROOT}/dotfiles/fstab >> /etc/fstab chmod 766 ${SHARED_DIR} sed -i "s/password=/password=${GIBSON_PASS}/" /etc/gibson systemctl daemon-reload ln -s ${SHARED_DIR} /home/hacdc/Desktop/gibson ln -s ${SHARED_DIR} /home/guest/Desktop/gibson chown guest:guest /home/guest/Desktop/gibson chown hacdc:hacdc /home/hacdc/Desktop/gibson chmod 755 ${SHARED_DIR} fi # Set login wallpaper cp ${HDOS_ROOT}/dotfiles/htown.png /usr/share/backgrounds/htown.png sed -i 's/^background=.*$/background=\/usr\/share\/backgrounds\/htown.png/' /usr/share/sddm/themes/*/theme.conf.user mksquashfs /home/guest ${HDOS_ROOT}/guest.sqfs --noappend cp ${HDOS_ROOT}/scripts/restore-home /usr/sbin/restore-home cp ${HDOS_ROOT}/dotfiles/guest-restore.service /etc/systemd/system/guest-restore.service systemctl daemon-reload systemctl enable guest-restore.service