diff --git a/0-preinstall.sh b/0-preinstall.sh index 557574b..855a3f1 100755 --- a/0-preinstall.sh +++ b/0-preinstall.sh @@ -16,8 +16,8 @@ timedatectl set-ntp true pacman -S --noconfirm pacman-contrib terminus-font setfont ter-v22b sed -i 's/^#Para/Para/' /etc/pacman.conf -pacman -S --noconfirm reflector rsync -cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup +pacman -S --noconfirm reflector rsync grub +mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup echo -e "-------------------------------------------------------------------------" echo -e " █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗" echo -e " ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝" @@ -53,31 +53,26 @@ echo "--------------------------------------" # disk prep sgdisk -Z ${DISK} # zap all on disk -#dd if=/dev/zero of=${DISK} bs=1M count=200 conv=fdatasync status=progress sgdisk -a 2048 -o ${DISK} # new gpt disk 2048 alignment # create partitions -sgdisk -n 1:0:+1000M ${DISK} # partition 1 (UEFI SYS), default start block, 512MB -sgdisk -n 2:0:0 ${DISK} # partition 2 (Root), default start, remaining - -# set partition types -sgdisk -t 1:ef00 ${DISK} -sgdisk -t 2:8300 ${DISK} - -# label partitions -sgdisk -c 1:"UEFISYS" ${DISK} -sgdisk -c 2:"ROOT" ${DISK} +sgdisk -n 1::+1M --typecode=1:ef02 --change-name=1:'BIOSBOOT' ${DISK} # partition 1 (BIOS Boot Partition) +sgdisk -n 2::+100M --typecode=2:ef00 --change-name=2:'EFIBOOT' ${DISK} # partition 2 (UEFI Boot Partition) +sgdisk -n 3::-0 --typecode=3:8300 --change-name=3:'ROOT' ${DISK} # partition 3 (Root), default start, remaining +if [[ ! -d "/sys/firmware/efi" ]]; then + sgdisk -A 1:set:2 ${DISK} +fi # make filesystems echo -e "\nCreating Filesystems...\n$HR" if [[ ${DISK} =~ "nvme" ]]; then -mkfs.vfat -F32 -n "UEFISYS" "${DISK}p1" -mkfs.btrfs -L "ROOT" "${DISK}p2" -f -mount -t btrfs "${DISK}p2" /mnt +mkfs.vfat -F32 -n "EFIBOOT" "${DISK}p2" +mkfs.btrfs -L "ROOT" "${DISK}p3" -f +mount -t btrfs "${DISK}p3" /mnt else -mkfs.vfat -F32 -n "UEFISYS" "${DISK}1" -mkfs.btrfs -L "ROOT" "${DISK}2" -f -mount -t btrfs "${DISK}2" /mnt +mkfs.vfat -F32 -n "EFIBOOT" "${DISK}2" +mkfs.btrfs -L "ROOT" "${DISK}3" -f +mount -t btrfs "${DISK}3" /mnt fi ls /mnt | xargs btrfs subvolume delete btrfs subvolume create /mnt/@ @@ -95,7 +90,7 @@ esac mount -t btrfs -o subvol=@ -L ROOT /mnt mkdir /mnt/boot mkdir /mnt/boot/efi -mount -t vfat -L UEFISYS /mnt/boot/ +mount -t vfat -L EFIBOOT /mnt/boot/ if ! grep -qs '/mnt' /proc/mounts; then echo "Drive is not mounted can not continue" @@ -112,16 +107,13 @@ pacstrap /mnt base base-devel linux linux-firmware vim nano sudo archlinux-keyri genfstab -U /mnt >> /mnt/etc/fstab echo "keyserver hkp://keyserver.ubuntu.com" >> /mnt/etc/pacman.d/gnupg/gpg.conf echo "--------------------------------------" -echo "-- Bootloader Systemd Installation --" +echo "-- GRUB Bootloader Installation --" echo "--------------------------------------" -bootctl install --esp-path=/mnt/boot -[ ! -d "/mnt/boot/loader/entries" ] && mkdir -p /mnt/boot/loader/entries -cat < /mnt/boot/loader/entries/arch.conf -title Arch Linux -linux /vmlinuz-linux -initrd /initramfs-linux.img -options root=LABEL=ROOT rw rootflags=subvol=@ -EOF +if [[ ! -d "/sys/firmware/efi" ]]; then + grub-install --boot-directory=/mnt/boot ${DISK} +else + grub-install --efi-directory=/mnt/boot ${DISK} +fi cp -R ${SCRIPT_DIR} /mnt/root/ArchTitus cp /etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist echo "--------------------------------------" diff --git a/1-setup.sh b/1-setup.sh index b14c45b..8f22386 100755 --- a/1-setup.sh +++ b/1-setup.sh @@ -77,6 +77,7 @@ PKGS=( 'bluedevil' 'bluez' 'bluez-libs' +'bluez-utils' 'breeze' 'breeze-gtk' 'bridge-utils' @@ -90,9 +91,12 @@ PKGS=( 'discover' 'dolphin' 'dosfstools' +'dtc' 'efibootmgr' # EFI boot 'egl-wayland' 'exfat-utils' +'extra-cmake-modules' +'filelite' 'flex' 'fuse2' 'fuse3' @@ -108,16 +112,24 @@ PKGS=( 'gst-libav' 'gst-plugins-good' 'gst-plugins-ugly' +'gwenview' 'haveged' 'htop' 'iptables-nft' 'jdk-openjdk' # Java 17 'kate' +'kcodecs' +'kcoreaddons' +'kde-plasma-addons' +'kinfocenter' +'kscreen' 'kvantum-qt5' 'kde-gtk-config' 'kitty' 'konsole' +'kscreen' 'layer-shell-qt' +'libdvdcss' 'libnewt' 'libtool' 'linux' @@ -145,11 +157,15 @@ PKGS=( 'picom' 'pkgconf' 'plasma-nm' +'powerdevil' 'powerline-fonts' 'print-manager' 'pulseaudio' 'pulseaudio-alsa' 'pulseaudio-bluetooth' +'python-notify2' +'python-psutil' +'python-pyqt5' 'python-pip' 'qemu' 'rsync' diff --git a/2-user.sh b/2-user.sh index 841f04a..881a28d 100755 --- a/2-user.sh +++ b/2-user.sh @@ -29,6 +29,7 @@ PKGS=( 'dxvk-bin' # DXVK DirectX to Vulcan 'github-desktop-bin' # Github Desktop sync 'lightly-git' +'lightlyshaders-git' 'mangohud' # Gaming FPS Counter 'mangohud-common' 'nerd-fonts-fira-code' diff --git a/3-post-setup.sh b/3-post-setup.sh index 12c73f4..a550d20 100755 --- a/3-post-setup.sh +++ b/3-post-setup.sh @@ -10,15 +10,14 @@ echo -e "\nFINAL SETUP AND CONFIGURATION" +grub-mkconfig -o /boot/grub/grub.cfg + # ------------------------------------------------------------------------ echo -e "\nEnabling Login Display Manager" - -sudo systemctl enable sddm.service - +systemctl enable sddm.service echo -e "\nSetup SDDM Theme" - -sudo cat < /etc/sddm.conf +cat < /etc/sddm.conf [Theme] Current=Nordic EOF @@ -28,12 +27,12 @@ EOF echo -e "\nEnabling essential services" systemctl enable cups.service -sudo ntpd -qg -sudo systemctl enable ntpd.service -sudo systemctl disable dhcpcd.service -sudo systemctl stop dhcpcd.service -sudo systemctl enable NetworkManager.service -sudo systemctl enable bluetooth +ntpd -qg +systemctl enable ntpd.service +systemctl disable dhcpcd.service +systemctl stop dhcpcd.service +systemctl enable NetworkManager.service +systemctl enable bluetooth echo " ############################################################################### # Cleaning