diff --git a/0-preinstall.sh b/0-preinstall.sh index b96b396..84b15d8 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" @@ -111,20 +106,15 @@ echo "--------------------------------------" pacstrap /mnt base base-devel linux linux-firmware vim nano sudo archlinux-keyring wget libnewt --noconfirm --needed 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 "--------------------------------------" -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 -cp -R ${SCRIPT_DIR} /mnt/root/$SCRIPTHOME +cp -R ${SCRIPT_DIR} /mnt/root/ArchTitus cp /etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist echo "--------------------------------------" +echo "--GRUB BIOS Bootloader Install&Check--" +echo "--------------------------------------" +if [[ ! -d "/sys/firmware/efi" ]]; then + grub-install --boot-directory=/boot ${DISK} +fi +echo "--------------------------------------" echo "-- Check for low memory systems <8G --" echo "--------------------------------------" TOTALMEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*') @@ -141,5 +131,5 @@ if [[ $TOTALMEM -lt 8000000 ]]; then echo "/opt/swap/swapfile none swap sw 0 0" >> /mnt/etc/fstab #Add swap to fstab, so it KEEPS working after installation. fi echo "--------------------------------------" -echo "-- SYSTEM READY FOR 0-setup --" +echo "-- SYSTEM READY FOR 1-setup --" echo "--------------------------------------" diff --git a/1-setup.sh b/1-setup.sh index 3bf8f12..880b70d 100755 --- a/1-setup.sh +++ b/1-setup.sh @@ -25,9 +25,9 @@ echo "-------------------------------------------------" echo "Changing the makeflags for "$nc" cores." TOTALMEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*') if [[ $TOTALMEM -gt 8000000 ]]; then -sudo sed -i 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j$nc"/g' /etc/makepkg.conf +sed -i "s/#MAKEFLAGS=\"-j2\"/MAKEFLAGS=\"-j$nc\"/g" /etc/makepkg.conf echo "Changing the compression settings for "$nc" cores." -sudo sed -i 's/COMPRESSXZ=(xz -c -z -)/COMPRESSXZ=(xz -c -T $nc -z -)/g' /etc/makepkg.conf +sed -i "s/COMPRESSXZ=(xz -c -z -)/COMPRESSXZ=(xz -c -T $nc -z -)/g" /etc/makepkg.conf fi echo "-------------------------------------------------" echo " Setup Language to US and set locale " @@ -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' +'filelight' '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' @@ -144,11 +156,16 @@ PKGS=( 'patch' '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 a89aaab..a7ba29b 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 e636006..c230620 100755 --- a/3-post-setup.sh +++ b/3-post-setup.sh @@ -9,16 +9,20 @@ #------------------------------------------------------------------------- echo -e "\nFINAL SETUP AND CONFIGURATION" +echo "--------------------------------------" +echo "-- GRUB EFI Bootloader Install&Check--" +echo "--------------------------------------" +if [[ -d "/sys/firmware/efi" ]]; then + grub-install --efi-directory=/boot ${DISK} +fi +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 +32,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 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b78f314 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Chris Titus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index b754006..165f03a 100644 --- a/README.md +++ b/README.md @@ -31,9 +31,15 @@ __[Arch Linux Installation Guide](https://github.com/rickellis/Arch-Linux-Instal ### No Wifi -```bash -sudo wifi-menu -``` +#1: Run `iwctl` + +#2: Run `device list`, and find your device name. + +#3: Run `station [device name] scan` + +#4: Run `station [device name] get-networks` + +#5: Find your network, and run `station [device name] connect [network name]`, enter your password and run `exit`. You can test if you have internet connection by running `ping google.com`. ## Credits