diff --git a/Amelia.sh b/Amelia.sh index 0e2db07..b05331a 100644 --- a/Amelia.sh +++ b/Amelia.sh @@ -1,9 +1,10 @@ #!/bin/bash # Amelia Installer -# Version: 3.8 +# Version: 3.9 set -euo pipefail +trap 's=$?; echo "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR ########################################################################################### # ### COLOR FUNCTIONS ### @@ -398,7 +399,10 @@ ${purple}###${nc} Main Menu ${purple}###${nc} " YELLOW " - > Select a Submenu: " + > Select a Submenu: + + + ### Select [4] for auto-navigation " NC " [1] Personalization @@ -407,7 +411,7 @@ ${purple}###${nc} Main Menu ${purple}###${nc} [3] Disk Management - [4] Start ${bwhite}Auto-Navigated${nc} Installation " + [4] Start Installation " BLUE " @@ -1364,11 +1368,11 @@ ${purple}###${nc} Desktop Selection ${purple}###${nc} [1] Plasma - [2] Plasma (custom) & Systemd-boot & System Optimizations + [2] Custom Plasma & Systemd-boot & System Optimizations [3] Gnome - [4] Gnome (custom) & Systemd-boot & System Optimizations + [4] Custom Gnome & Systemd-boot & System Optimizations [5] Xfce @@ -1393,14 +1397,14 @@ Enter a number: " ==> " packages case "${packages}" in - 1) + 1) desktopname="'Plasma'" ;; 2) - desktopname="'Plasma (System Optimized)'" ;; + desktopname="'Custom Plasma (System Optimized)'" ;; 3) desktopname="'Gnome'" ;; 4) - desktopname="'Gnome (System Optimized)'" ;; + desktopname="'Custom Gnome (System Optimized)'" ;; 5) desktopname="'Xfce'" ;; 6) @@ -1601,6 +1605,9 @@ _____________________________ ${purple}###${nc} Custom Packages Setup ${purple}###${nc} " + YELLOW " + + ### base, linux-firmware (bare-metal), sudo & your current choices are already included " BLUE " Enter your packages ${bwhite}(space-seperated)${blue}: " @@ -3756,7 +3763,7 @@ ${purple}###${nc} Pacstrap System ${purple}###${nc} bluetooth="bluetooth" network="NetworkManager" ;; - 2) # NOTE: Plasma & Systemd-boot & Optimized Desktop: + 2) # NOTE: Custom Plasma & Systemd-boot & Optimized System: deskpkgs=""${basepkgs}" alsa-firmware alsa-utils arj ark bluedevil breeze-gtk ccache cups-pdf cups-pk-helper dolphin-plugins e2fsprogs efibootmgr exfatprogs fdkaac ffmpegthumbs firefox git glibc-locales gst-libav gst-plugin-libcamera gst-plugin-msdk gst-plugin-opencv gst-plugin-pipewire gst-plugin-qmlgl gst-plugin-va gst-plugin-wpe gst-plugins-ugly gstreamer-vaapi htop icoutils ipp-usb kamera kamoso kate kcalc kde-gtk-config kdegraphics-mobipocket kdegraphics-thumbnailers kdenetwork-filesharing kdeplasma-addons kdesdk-kio kdesdk-thumbnailers kdialog keditbookmarks kget kimageformats kinit kio-admin kio-gdrive kio-zeroconf kompare konsole kscreen kvantum kwrited libappimage libfido2 libktorrent libmms libnfs libva-utils lirc lrzip lua52-socket lzop mac man-db man-pages mesa-demos mesa-utils nano-syntax-highlighting nss-mdns ntfs-3g okular opus-tools p7zip packagekit-qt6 pacman-contrib partitionmanager pdfmixtool pigz pipewire-alsa pipewire-pulse pkgstats plasma-browser-integration plasma-desktop plasma-disks plasma-firewall plasma-nm plasma-pa plasma-wayland-protocols power-profiles-daemon powerdevil powerline powerline-fonts print-manager python-pyqt6 python-reportlab qbittorrent qt6-imageformats qt6-scxml qt6-virtualkeyboard realtime-privileges reflector rng-tools sddm-kcm skanlite sof-firmware sox spectacle sshfs system-config-printer terminus-font timidity++ ttf-ubuntu-font-family ufw-extras unarchiver unrar unzip usb_modeswitch usbutils vdpauinfo vlc vorbis-tools vorbisgain wget xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-kde xsane zip zsh zsh-autosuggestions zsh-completions zsh-syntax-highlighting "${nrg_plc}"" ;; @@ -3767,7 +3774,7 @@ ${purple}###${nc} Pacstrap System ${purple}###${nc} bluetooth="bluetooth" network="NetworkManager" ;; - 4) # NOTE: Gnome & Systemd-boot & Optimized Desktop: + 4) # NOTE: Custom Gnome & Systemd-boot & Optimized System: deskpkgs=""${basepkgs}" evince file-roller gdm gnome-calculator gnome-clocks gnome-console gnome-control-center gnome-disk-utility gnome-keyring gnome-menus gnome-session gnome-shell-extensions gnome-system-monitor gnome-text-editor gnome-tweaks gvfs gvfs-afc gvfs-mtp loupe malcontent nautilus networkmanager power-profiles-daemon simple-scan sushi system-config-printer xdg-desktop-portal-gnome xdg-user-dirs-gtk alsa-firmware alsa-utils ccache cups-pdf e2fsprogs efibootmgr exfatprogs fdkaac git glibc-locales gnome-browser-connector gparted gst-libav gst-plugin-libcamera gst-plugin-msdk gst-plugin-opencv gst-plugin-pipewire gst-plugin-qmlgl gst-plugin-va gst-plugin-wpe gst-plugins-ugly gstreamer-vaapi gufw htop icoutils ipp-usb libfido2 libva-utils lrzip mac man-db man-pages meld mesa-utils nano-syntax-highlighting nss-mdns ntfs-3g p7zip pacman-contrib pdfmixtool pigz pipewire-alsa pipewire-pulse pkgstats powerline powerline-fonts qbittorrent realtime-privileges reflector rng-tools sof-firmware terminus-font ttf-ubuntu-font-family ufw-extras unrar unzip usb_modeswitch usbutils vdpauinfo vlc wget zip zsh zsh-autosuggestions zsh-completions zsh-syntax-highlighting "${nrg_plc}"" ;; @@ -4181,18 +4188,18 @@ NRG COMPRESSION_OPTIONS=(-c -T$(nproc) -) MODULES_DECOMPRESS="yes"' | tee /etc/mkinitcpio.conf.d/mkinitcpiod.conf && mkinitcpio -P && - echo ' - CFLAGS="-march=native -O2 -pipe -fno-plt -fexceptions \ + echo ' + CFLAGS="-march=native -O2 -pipe -fno-plt -fexceptions \ -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \ -fstack-clash-protection -fcf-protection \ -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" - RUSTFLAGS="-C opt-level=3" - MAKEFLAGS="-j$(nproc)" - BUILDENV=(!distcc color ccache check !sign) - OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto) - COMPRESSGZ=(pigz -c -f -n) - COMPRESSBZ2=(pbzip2 -c -f) - COMPRESSXZ=(xz -c -z --threads=0 -)' | tee /etc/makepkg.conf.d/makepkgd.conf && + RUSTFLAGS="-C opt-level=3" + MAKEFLAGS="-j$(nproc)" + BUILDENV=(!distcc color ccache check !sign) + OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto) + COMPRESSGZ=(pigz -c -f -n) + COMPRESSBZ2=(pbzip2 -c -f) + COMPRESSXZ=(xz -c -z --threads=0 -)' | tee /etc/makepkg.conf.d/makepkgd.conf && ln -sf /usr/share/zoneinfo/$(curl -s http://ip-api.com/line?fields=timezone) /etc/localtime && hwclock --systohc && echo ${HOSTNAME} > /etc/hostname && @@ -4231,7 +4238,7 @@ NRG vm.vfs_cache_pressure = 50 vm.mmap_min_addr = 65536 kernel.printk = 0 0 0 0 - ${perf_stream}" | tee /etc/sysctl.d/99-performance.conf && + ${perf_stream}" | tee /etc/sysctl.d/99-sysctld.conf && echo " [defaults] ntfs:ntfs3_defaults=uid=1000,gid=1000,windows_names" | tee /etc/udisks2/mount_options.conf && @@ -4278,7 +4285,7 @@ NRG sed -i 's|^hosts.*|hosts: mymachines mdns_minimal resolve [!UNAVAIL=return] files myhostname dns|g' /etc/nsswitch.conf && sed -i 's/ interface = [^ ]*/ interface = all/g' /etc/ipp-usb/ipp-usb.conf && sed -i "/# set linenumbers/"'s/^#//' /etc/nanorc && - echo tcp_bbr | tee /etc/modules-load.d/modules.conf && + echo tcp_bbr | tee /etc/modules-load.d/modulesd.conf && echo " country=${REGDOM} wps_cred_add_sae=1 @@ -4363,18 +4370,18 @@ NRG COMPRESSION_OPTIONS=(-c -T$(nproc) -) MODULES_DECOMPRESS="yes"' | tee /etc/mkinitcpio.conf.d/mkinitcpiod.conf && mkinitcpio -P && - echo ' - CFLAGS="-march=native -O2 -pipe -fno-plt -fexceptions \ + echo ' + CFLAGS="-march=native -O2 -pipe -fno-plt -fexceptions \ -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \ -fstack-clash-protection -fcf-protection \ -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" - RUSTFLAGS="-C opt-level=3" - MAKEFLAGS="-j$(nproc)" - BUILDENV=(!distcc color ccache check !sign) - OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto) - COMPRESSGZ=(pigz -c -f -n) - COMPRESSBZ2=(pbzip2 -c -f) - COMPRESSXZ=(xz -c -z --threads=0 -)' | tee /etc/makepkg.conf.d/makepkgd.conf && + RUSTFLAGS="-C opt-level=3" + MAKEFLAGS="-j$(nproc)" + BUILDENV=(!distcc color ccache check !sign) + OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto) + COMPRESSGZ=(pigz -c -f -n) + COMPRESSBZ2=(pbzip2 -c -f) + COMPRESSXZ=(xz -c -z --threads=0 -)' | tee /etc/makepkg.conf.d/makepkgd.conf && ln -sf /usr/share/zoneinfo/$(curl -s http://ip-api.com/line?fields=timezone) /etc/localtime && hwclock --systohc && echo ${HOSTNAME} > /etc/hostname && @@ -4413,7 +4420,7 @@ NRG vm.vfs_cache_pressure = 50 vm.mmap_min_addr = 65536 kernel.printk = 0 0 0 0 - ${perf_stream}" | tee /etc/sysctl.d/99-performance.conf && + ${perf_stream}" | tee /etc/sysctl.d/99-sysctld.conf && echo " [defaults] ntfs:ntfs3_defaults=uid=1000,gid=1000,windows_names" | tee /etc/udisks2/mount_options.conf && @@ -4460,7 +4467,7 @@ NRG sed -i 's|^hosts.*|hosts: mymachines mdns_minimal resolve [!UNAVAIL=return] files myhostname dns|g' /etc/nsswitch.conf && sed -i 's/ interface = [^ ]*/ interface = all/g' /etc/ipp-usb/ipp-usb.conf && sed -i "/# set linenumbers/"'s/^#//' /etc/nanorc && - echo tcp_bbr | tee /etc/modules-load.d/modules.conf && + echo tcp_bbr | tee /etc/modules-load.d/modulesd.conf && echo " country=${REGDOM} wps_cred_add_sae=1 @@ -4532,7 +4539,7 @@ NVIDIAHOOK echo KEYMAP=${SETKBD} > /etc/vconsole.conf && echo " ${mkinitcpio_mods} - ${mkinitcpio_hooks}" | tee /etc/mkinitcpio.conf.d/custom.conf && + ${mkinitcpio_hooks}" | tee /etc/mkinitcpio.conf.d/mkinitcpiod.conf && mkinitcpio -P && ln -sf /usr/share/zoneinfo/$(curl -s http://ip-api.com/line?fields=timezone) /etc/localtime && hwclock --systohc &&