#!/usr/bin/env bash

set -e

# RaveOS Setup Script

# Text Colours
bold=$(tput bold)      # ${bold}
normal=$(tput sgr0)    # ${normal}
yellow=$(tput setaf 3) # ${yellow}

  
  echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/99-t

# Installing packages

    sudo pacman -S gnome-terminal gnome-session gdm gnome-disk-utility gnome-system-monitor eog flatpak base-devel bash-completion firefox gedit gnome-calculator baobab ffmpeg git gnome-control-center gnome-browser-connector xdg-desktop-portal xdg-desktop-portal-gnome xdg-desktop-portal-gtk xdg-desktop-portal-wlr ttf-ubuntu-font-family gnome-settings-daemon unzip wget glib2 glib2-devel spice-vdagent rsync hblock nano --noconfirm
    sudo systemctl enable gdm.service
    sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target geoclue.service

    # Downloading RavePkg
    mkdir cosmetics
    sudo chown -R $USER:$GROUP /home/$USER/cosmetics/
    cd cosmetics
    wget -O cosmetics.zip https://files.rp1.hu/api/public/dl/K7znaGkC/
    unzip cosmetics.zip
   

    git clone https://aur.archlinux.org/yay-bin.git
    cd yay-bin
    makepkg -si --noconfirm
    cd -
    rm -rf yay-bin

    yay -S gdm-tools --noconfirm --sudoloop --save


    git clone https://aur.archlinux.org/yaru.git
    cd yaru
    makepkg -si --noconfirm
    cd -
    rm -rf yaru
    
    echo
    echo ---------------------------------------------
    echo Installing ${bold}${yellow}CachyOS - Gaming Kernel${normal}

    curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos-repo.tar.xz
    sudo rsync -ap --info=progress2 cachyos-repo.sh /cachyos-repo/
    tar xvf cachyos-repo.tar.xz && cd cachyos-repo  
    sudo ./cachyos-repo.sh
    cd -
    sudo pacman -S linux-cachyos linux-cachyos-headers --noconfirm

    echo ${bold}${yellow}CachyOS - Gaming Kernel ${normal}installed.
    echo ---------------------------------------------
    echo


# RaveOS Cosmetics

    gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-purple-dark'
    gsettings set org.gnome.desktop.interface cursor-theme 'Yaru'
    gsettings set org.gnome.desktop.interface icon-theme 'Yaru-purple-dark'
    gsettings set org.gnome.desktop.sound theme-name 'Yaru'
    gsettings set org.gnome.desktop.screensaver lock-enabled false
    gsettings set org.gnome.desktop.session idle-delay 0
    gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,maximize,close"
    sudo rsync -ap --info=progress2 gnome-shell /home/$USER/.local/share/
    cp -a burn-my-windows /home/$USER/.config/
    sudo cp -a rave-pp.png /usr/share/pixmaps/faces/
    echo "[User]
Session=
Icon=/usr/share/pixmaps/faces/rave-pp.png
SystemAccount=false" | sudo tee /var/lib/AccountsService/users/$USER
    sudo cp -a archlinux-logo-text-dark.svg /usr/share/pixmaps/
    sudo cp -a view-app-grid-symbolic.svg /usr/share/icons/Yaru/scalable/actions/
    dconf load / < raveui-eng
    sudo mkdir -p /usr/share/backgrounds/
    sudo cp -a raveos-bg.png /usr/share/backgrounds/
    cp -a .icons /home/$USER/
    cp -a .themes /home/$USER/
    set-gdm-theme set Yaru-purple-dark /usr/share/backgrounds/raveos-bg.png

    sudo rm /etc/sudoers.d/99*
    sudo rm -rf /home/$USER/cosmetics

    # Adding Custom rave command
  echo ---------------------------------------------
  echo Installing ${bold}${yellow}rave command.${normal}
  echo
    sudo cp -a rave /usr/local/bin/
    sudo chmod +x /usr/local/bin/rave
    sudo cp -a rave-comp.sh /etc/bash_completion.d/
    sudo chmod +x /etc/bash_completion.d/rave-comp.sh
  echo
  echo ${bold}${yellow}Rave command with bash completion ${normal}installed.
  echo ---------------------------------------------

  # Autostarting ProgramScript after restart
echo ---------------------------------------------
  echo Installing ${bold}${yellow}ProgramScript Autostart${normal}
  echo
    mkdir -p /home/$USER/.config/autostart
    sudo chown -R $USER:$GROUP /home/$USER/.config/autostart
    sudo cp -a 3progs.sh.desktop /home/$USER/.config/autostart
    echo Exec=/home/$USER/.progs/3progs.sh >> /home/$USER/.config/autostart/3progs.sh.desktop
    sudo mkdir -p /home/$USER/.progs
    sudo chown -R $USER:$GROUP /home/$USER/.progs
    sudo cp -a 3progs.sh /home/$USER/.progs
    sudo chmod +x /home/$USER/.progs/3progs.sh
    sudo cp -a content/. /home/$USER/.progs
  echo
  echo ${bold}${yellow}ProgramScript Autostart ${normal}installed.
  echo ---------------------------------------------

  # Flatseal - Flatpak app jogosultság beállító
  echo
  echo ---------------------------------------------
  echo Installing ${bold}${yellow}Flatseal - flatpak${normal}

  flatpak install flathub com.github.tchx84.Flatseal --user -y
  sudo cp -a overrides /home/$USER/.local/share/flatpak

  echo ${bold}${yellow}Flatseal ${normal}installed.
  echo ---------------------------------------------
  echo

    reboot