diff --git a/Amelia.sh b/Amelia.sh index 669e368..592c347 100644 --- a/Amelia.sh +++ b/Amelia.sh @@ -1,7 +1,7 @@ #!/bin/bash # Amelia Installer -# Version: 3.7 +# Version: 3.8 set -euo pipefail ########################################################################################### @@ -313,6 +313,8 @@ uefi_check (){ local prompt="UEFI "${bootmode}"-bit Mode" sleep 0.5 NC " + + ______________________________ ${purple}###${nc} UEFI Mode Verification ${purple}###${nc} @@ -352,6 +354,7 @@ upd_clock (){ ___________________________ ${purple}###${nc} System Clock Update ${purple}###${nc} + " timedatectl ok @@ -403,7 +406,7 @@ ${purple}###${nc} Main Menu ${purple}###${nc} [3] Disk Management - [4] ${cyan}Start Auto-Navigated Installation${nc} " + [4] Start ${cyan}Auto-Navigated${nc} Installation " BLUE " @@ -1360,11 +1363,11 @@ ${purple}###${nc} Desktop Selection ${purple}###${nc} [1] Plasma - [2] Plasma & Systemd-boot & System Optimizations + [2] Plasma (custom) & Systemd-boot & System Optimizations [3] Gnome - [4] Gnome & Systemd-boot & System Optimizations + [4] Gnome (custom) & Systemd-boot & System Optimizations [5] Xfce @@ -3765,7 +3768,7 @@ ${purple}###${nc} Pacstrap System ${purple}###${nc} 4) # NOTE: Gnome & Systemd-boot & Optimized Desktop: - 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 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}"" ;; + 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}"" ;; 5) # NOTE: Xfce Desktop: @@ -4044,11 +4047,9 @@ ${purple}###${nc} Chroot & Configure System ${purple}###${nc} echo LANG=${SETLOCALE} > /etc/locale.conf && export LANG=${SETLOCALE} && echo KEYMAP=${SETKBD} > /etc/vconsole.conf && - update-pciids && echo " ${mkinitcpio_mods} - ${mkinitcpio_hooks} - COMPRESSION_OPTIONS=(-c -T$(nproc) -)" | tee /etc/mkinitcpio.conf.d/custom.conf && + ${mkinitcpio_hooks}" | tee /etc/mkinitcpio.conf.d/custom.conf && mkinitcpio -P && ln -sf /usr/share/zoneinfo/$(curl -s http://ip-api.com/line?fields=timezone) /etc/localtime && hwclock --systohc && @@ -4164,7 +4165,7 @@ NVIDIAHOOK NRG fi - arch-chroot /mnt <<-OPTIMIZED_CONF + arch-chroot /mnt <<-KOPTIMIZED_CONF sed -i "/^#${SETLOCALE}/s/^#//" /etc/locale.gen && locale-gen && echo LANG=${SETLOCALE} > /etc/locale.conf && @@ -4179,16 +4180,18 @@ NRG COMPRESSION_OPTIONS=(-c -T$(nproc) -) MODULES_DECOMPRESS="yes"' | tee /etc/mkinitcpio.conf.d/custom.conf && mkinitcpio -P && - cp -v /etc/makepkg.conf /etc/makepkg.conf.bak && - sed -i \ - -e 's|-march=[^ ]* -mtune=[^ ]*|-march=native|g' \ - -e 's|^#RUSTFLAGS.*|RUSTFLAGS="-C opt-level=2"|g' \ - -e 's|^#MAKEFLAGS.*|MAKEFLAGS="-j$(nproc)"|g' \ - -e 's|^BUILDENV.*|BUILDENV=(!distcc color ccache check !sign)|g' \ - -e 's|^OPTIONS.*|OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto)|g' \ - -e 's|^COMPRESSGZ.*|COMPRESSGZ=(pigz -c -f -n)|g' \ - -e 's|^COMPRESSBZ2.*|COMPRESSBZ2=(pbzip2 -c -f)|g' \ - -e 's|^COMPRESSXZ.*|COMPRESSXZ=(xz -c -z --threads=0 -)|g' /etc/makepkg.conf && + 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 && ln -sf /usr/share/zoneinfo/$(curl -s http://ip-api.com/line?fields=timezone) /etc/localtime && hwclock --systohc && echo ${HOSTNAME} > /etc/hostname && @@ -4297,7 +4300,7 @@ NRG %wheel ALL=(ALL) ALL" | tee /etc/sudoers.d/sudoedits && visudo -c /etc/sudoers.d/sudoedits && systemctl enable avahi-daemon bluetooth cups ipp-usb NetworkManager rngd sddm systemd-boot-update ufw ${trim} ${vm_services} -OPTIMIZED_CONF +KOPTIMIZED_CONF if [[ "${vgaconf}" == "y" && "${vendor}" == "Nvidia" ]]; then @@ -4344,7 +4347,7 @@ NVIDIAHOOK NRG fi - arch-chroot /mnt <<-OPTIMIZED_CONF + arch-chroot /mnt <<-GNOPTIMIZED_CONF sed -i "/^#${SETLOCALE}/s/^#//" /etc/locale.gen && locale-gen && echo LANG=${SETLOCALE} > /etc/locale.conf && @@ -4359,16 +4362,18 @@ NRG COMPRESSION_OPTIONS=(-c -T$(nproc) -) MODULES_DECOMPRESS="yes"' | tee /etc/mkinitcpio.conf.d/custom.conf && mkinitcpio -P && - cp -v /etc/makepkg.conf /etc/makepkg.conf.bak && - sed -i \ - -e 's|-march=[^ ]* -mtune=[^ ]*|-march=native|g' \ - -e 's|^#RUSTFLAGS.*|RUSTFLAGS="-C opt-level=2"|g' \ - -e 's|^#MAKEFLAGS.*|MAKEFLAGS="-j$(nproc)"|g' \ - -e 's|^BUILDENV.*|BUILDENV=(!distcc color ccache check !sign)|g' \ - -e 's|^OPTIONS.*|OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto)|g' \ - -e 's|^COMPRESSGZ.*|COMPRESSGZ=(pigz -c -f -n)|g' \ - -e 's|^COMPRESSBZ2.*|COMPRESSBZ2=(pbzip2 -c -f)|g' \ - -e 's|^COMPRESSXZ.*|COMPRESSXZ=(xz -c -z --threads=0 -)|g' /etc/makepkg.conf && + 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 && ln -sf /usr/share/zoneinfo/$(curl -s http://ip-api.com/line?fields=timezone) /etc/localtime && hwclock --systohc && echo ${HOSTNAME} > /etc/hostname && @@ -4477,7 +4482,7 @@ NRG %wheel ALL=(ALL) ALL" | tee /etc/sudoers.d/sudoedits && visudo -c /etc/sudoers.d/sudoedits && systemctl enable avahi-daemon bluetooth cups gdm ipp-usb NetworkManager rngd systemd-boot-update ufw ${trim} ${vm_services} -OPTIMIZED_CONF +GNOPTIMIZED_CONF if [[ "${vgaconf}" == "y" && "${vendor}" == "Nvidia" ]]; then @@ -4526,8 +4531,7 @@ NVIDIAHOOK echo KEYMAP=${SETKBD} > /etc/vconsole.conf && echo " ${mkinitcpio_mods} - ${mkinitcpio_hooks} - COMPRESSION_OPTIONS=(-c -T$(nproc) -)" | tee /etc/mkinitcpio.conf.d/custom.conf && + ${mkinitcpio_hooks}" | tee /etc/mkinitcpio.conf.d/custom.conf && mkinitcpio -P && ln -sf /usr/share/zoneinfo/$(curl -s http://ip-api.com/line?fields=timezone) /etc/localtime && hwclock --systohc &&