diff --git a/1-setup.sh b/1-setup.sh index fb94c5e..9b172e7 100755 --- a/1-setup.sh +++ b/1-setup.sh @@ -18,15 +18,15 @@ echo -ne " Network Setup ------------------------------------------------------------------------- " -pacman -S networkmanager dhclient --noconfirm --needed +pacman -S --noconfirm --needed networkmanager dhclient systemctl enable --now NetworkManager echo -ne " ------------------------------------------------------------------------- Setting up mirrors for optimal download ------------------------------------------------------------------------- " -pacman -S --noconfirm pacman-contrib curl -pacman -S --noconfirm reflector rsync grub arch-install-scripts git +pacman -S --noconfirm --needed pacman-contrib curl +pacman -S --noconfirm --needed reflector rsync grub arch-install-scripts git cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak nc=$(grep -c ^processor /proc/cpuinfo) @@ -64,14 +64,14 @@ sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf #Enable multilib sed -i "/\[multilib\]/,/Include/"'s/^#//' /etc/pacman.conf -pacman -Sy --noconfirm +pacman -Sy --noconfirm --needed echo -ne " ------------------------------------------------------------------------- Installing Base System ------------------------------------------------------------------------- " -# sed $INSTALL_TYPE is using install typeto check for MINIMAL installation, if it's true, stop +# sed $INSTALL_TYPE is using install type to check for MINIMAL installation, if it's true, stop # stop the script and move on, not installing any more packages below that line sed -n '/'$INSTALL_TYPE'/q;p' /root/ArchTitus/pkg-files/pacman-pkgs.txt | while read line do @@ -91,11 +91,11 @@ echo -ne " proc_type=$(lscpu) if grep -E "GenuineIntel" <<< ${proc_type}; then echo "Installing Intel microcode" - pacman -S --noconfirm intel-ucode + pacman -S --noconfirm --needed intel-ucode proc_ucode=intel-ucode.img elif grep -E "AuthenticAMD" <<< ${proc_type}; then echo "Installing AMD microcode" - pacman -S --noconfirm amd-ucode + pacman -S --noconfirm --needed amd-ucode proc_ucode=amd-ucode.img fi @@ -107,14 +107,14 @@ echo -ne " # Graphics Drivers find and install gpu_type=$(lspci) if grep -E "NVIDIA|GeForce" <<< ${gpu_type}; then - pacman -S nvidia --noconfirm --needed + pacman -S --noconfirm --needed nvidia nvidia-xconfig elif lspci | grep 'VGA' | grep -E "Radeon|AMD"; then - pacman -S xf86-video-amdgpu --noconfirm --needed + pacman -S --noconfirm --needed xf86-video-amdgpu elif grep -E "Integrated Graphics Controller" <<< ${gpu_type}; then - pacman -S libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa --needed --noconfirm + pacman -S --noconfirm --needed libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa elif grep -E "Intel Corporation UHD" <<< ${gpu_type}; then - pacman -S libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa --needed --noconfirm + pacman -S --needed --noconfirm libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa fi #SETUP IS WRONG THIS IS RUN if ! source /root/ArchTitus/setup.conf; then diff --git a/2-user.sh b/2-user.sh index 06e6ca9..a9ddc0e 100755 --- a/2-user.sh +++ b/2-user.sh @@ -23,12 +23,24 @@ source $HOME/ArchTitus/setup.conf git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k ln -s "~/zsh/.zshrc" ~/.zshrc +sed -n '/'$INSTALL_TYPE'/q;p' ~/ArchTitus/pkg-files/${DESKTOP_ENV}.txt | while read line +do + if [[ ${line} == '--END OF MINIMAL INSTALL--' ]] + then + # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line + continue + fi + echo "INSTALLING: ${line}" + sudo pacman -S --noconfirm --needed ${line} +done + + if [[ ! $AUR_HELPER == none ]]; then cd ~ git clone "https://aur.archlinux.org/$AUR_HELPER.git" cd ~/$AUR_HELPER makepkg -si --noconfirm - # sed $INSTALL_TYPE is using install typeto check for MINIMAL installation, if it's true, stop + # sed $INSTALL_TYPE is using install type to check for MINIMAL installation, if it's true, stop # stop the script and move on, not installing any more packages below that line sed -n '/'$INSTALL_TYPE'/q;p' ~/ArchTitus/pkg-files/aur-pkgs.txt | while read line do @@ -42,12 +54,20 @@ if [[ ! $AUR_HELPER == none ]]; then fi export PATH=$PATH:~/.local/bin -if [[ $DESKTOP_ENV == "kde" ]] && [[ $INSTALL_TYPE == "FULL" ]]; then - cp -r ~/ArchTitus/dotfiles/* ~/.config/ - pip install konsave - konsave -i ~/ArchTitus/kde.knsv - sleep 1 - konsave -a kde + +# Theming DE if user chose FULL installation +if [[ $INSTALL_TYPE == "FULL" ]]; then + if [[ $DESKTOP_ENV == "kde" ]]; then + cp -r ~/ArchTitus/dotfiles/* ~/.config/ + pip install konsave + konsave -i ~/ArchTitus/kde.knsv + sleep 1 + konsave -a kde + elif [[ $DESKTOP_ENV == "openbox" ]]; then + cd ~ + git clone https://github.com/stojshic/dotfiles-openbox + ./dotfiles-openbox/install-titus.sh + fi fi echo -ne " diff --git a/3-post-setup.sh b/3-post-setup.sh index bf533a8..41e6cc9 100755 --- a/3-post-setup.sh +++ b/3-post-setup.sh @@ -16,7 +16,7 @@ Final Setup and Configurations GRUB EFI Bootloader Install & Check " source /root/ArchTitus/setup.conf -genfstab -U /mnt >> /mnt/etc/fstab +genfstab -U /mnt >> /etc/fstab if [[ -d "/sys/firmware/efi" ]]; then grub-install --efi-directory=/boot ${DISK} fi @@ -41,3 +41,65 @@ echo "GRUB_THEME=\"${THEME_DIR}/${THEME_NAME}/theme.txt\"" >> /etc/default/grub echo -e "Updating grub..." grub-mkconfig -o /boot/grub/grub.cfg echo -e "All set!" + +echo -ne " +------------------------------------------------------------------------- + Enabling (and Theming) Login Display Manager +------------------------------------------------------------------------- +" +if [[ ${DESKTOP_ENV} == "kde" ]]; then + systemctl enable sddm.service + if [[ ${INSTALL_TYPE} == "FULL" ]]; then + echo [Theme] >> /etc/sddm.conf + echo Current=Nordic >> /etc/sddm.conf + fi + +elif [[ "${DESKTOP_ENV}" == "gnome" ]]; then + systemctl enable gdm.service + +elif [[ "${DESKTOP_ENV}" == "lxde" ]]; then + systemctl enable lxdm.service + +elif [[ "${DESKTOP_ENV}" == "openbox" ]]; then + systemctl enable lightdm.service + if [[ "${INSTALL_TYPE}" == "FULL" ]]; then + # Set default lightdm-webkit2-greeter theme to Litarvan + sed -i 's/^webkit_theme\s*=\s*\(.*\)/webkit_theme = litarvan #\1/g' /etc/lightdm/lightdm-webkit2-greeter.conf + # Set default lightdm greeter to lightdm-webkit2-greeter + sed -i 's/#greeter-session=example.*/greeter-session=lightdm-webkit2-greeter/g' /etc/lightdm/lightdm.conf + fi + +else + if [[ ! "${DESKTOP_ENV}" == "server" ]]; then + sudo pacman -S --noconfirm --needed lightdm lightdm-gtk-greeter + systemctl enable lightdm.service + fi +fi + +echo -ne " +------------------------------------------------------------------------- + Enabling Essential Services +------------------------------------------------------------------------- +" +systemctl enable cups.service +ntpd -qg +systemctl enable ntpd.service +systemctl disable dhcpcd.service +systemctl stop dhcpcd.service +systemctl enable NetworkManager.service +systemctl enable bluetooth +echo -ne " +------------------------------------------------------------------------- + Cleaning +------------------------------------------------------------------------- +" +# Remove no password sudo rights +sed -i 's/^%wheel ALL=(ALL) NOPASSWD: ALL/# %wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers +# Add sudo rights +sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers + +rm -r /root/ArchTitus +rm -r /home/$USERNAME/ArchTitus + +# Replace in the same state +cd $pwd diff --git a/4-desktop.sh b/4-desktop.sh deleted file mode 100755 index 466ad90..0000000 --- a/4-desktop.sh +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env bash -echo -ne " -------------------------------------------------------------------------- - █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ - ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ - ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ - ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ - ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ - ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ -------------------------------------------------------------------------- - Automated Arch Linux Installer - SCRIPTHOME: ArchTitus -------------------------------------------------------------------------- - -------------------------------------------------------------------------- - Installing Desktop Enviroment -------------------------------------------------------------------------- -" - -source /root/ArchTitus/setup.conf - -sed -n '/'$INSTALL_TYPE'/q;p' /root/ArchTitus/pkg-files/${DESKTOP_ENV}.txt | while read line -do - if [[ ${line} == '--END OF MINIMAL INSTALL--' ]] - then - # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line - continue - fi - echo "INSTALLING: ${line}" - sudo pacman -S --noconfirm --needed ${line} -done - -if [[ ${DESKTOP_ENV} == "kde" ]]; then - systemctl enable sddm.service - if [[ ${INSTALL_TYPE} == "FULL" ]]; then - echo [Theme] >> /etc/sddm.conf - echo Current=Nordic >> /etc/sddm.conf - fi - -elif [[ "${DESKTOP_ENV}" == "gnome" ]]; then - systemctl enable gdm.service - -elif [[ "${DESKTOP_ENV}" == "lxde" ]]; then - systemctl enable lxdm.service - -elif [[ "${DESKTOP_ENV}" == "openbox" ]]; then - sudo pacman -S --noconfirm --needed lightdm lightdm-gtk-greeter - systemctl enable lightdm.service - if [[ "${INSTALL_TYPE}" == "FULL" ]]; then - git clone https://github.com/stojshic/dotfiles-openbox - ./dotfiles-openbox/install.sh - fi - -else - sudo pacman -S --noconfirm --needed lightdm lightdm-gtk-greeter - systemctl enable lightdm.service - -fi - -echo -ne " -------------------------------------------------------------------------- - Enabling Essential Services -------------------------------------------------------------------------- -" -systemctl enable cups.service -ntpd -qg -systemctl enable ntpd.service -systemctl disable dhcpcd.service -systemctl stop dhcpcd.service -systemctl enable NetworkManager.service -echo -ne " -------------------------------------------------------------------------- - Cleaning -------------------------------------------------------------------------- -" -# Remove no password sudo rights -sed -i 's/^%wheel ALL=(ALL) NOPASSWD: ALL/# %wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers -# Add sudo rights -sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers - -rm -r /root/ArchTitus -rm -r /home/$USERNAME/ArchTitus - -# Replace in the same state -cd $pwd diff --git a/archtitus.sh b/archtitus.sh index ad57eea..efd3d28 100755 --- a/archtitus.sh +++ b/archtitus.sh @@ -23,7 +23,6 @@ echo -ne " ( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/2-user.sh )|& tee 2-user.log fi ( arch-chroot /mnt /root/ArchTitus/3-post-setup.sh )|& tee 3-post-setup.log - ( arch-chroot /mnt /root/ArchTitus/4-desktop.sh )|& tee 4-desktop.log echo -ne " ------------------------------------------------------------------------- diff --git a/pkg-files/openbox.txt b/pkg-files/openbox.txt index 932654d..078ef39 100644 --- a/pkg-files/openbox.txt +++ b/pkg-files/openbox.txt @@ -1,6 +1,6 @@ openbox lightdm -lightdm-gtk-greeter +lightdm-webkit2-greeter thunar lxsession rxvt-unicode @@ -14,6 +14,7 @@ dunst tint2 rofi feh +lightdm-webkit-theme-litarvan lxappearance qt5ct gsimplecal diff --git a/pkg-files/server.txt b/pkg-files/server.txt deleted file mode 100644 index 0596bf6..0000000 --- a/pkg-files/server.txt +++ /dev/null @@ -1 +0,0 @@ ---END OF MINIMAL INSTALL--