Now, hitting any key will start installation

Added a few descriptive comments
Manual mode > Format Root Partition: Simplified code structure
Reset Arch live-media 'cowspace' value to default
Added 'Clear EFI Boot Entries', 'Wireless Regulatory Domain Setup' & 'Partition Manager' stages when revising installation, providing an extended set of revised options to use.
Added 'Clear EFI Boot Enries' & 'Wireless Regulatory Domain Setup' stages when selecting 'Start Installation' option from Main Menu, effectively making it an 'Auto-Navigated' process.
This commit is contained in:
Jane Doe 2024-02-06 18:37:06 +00:00
parent b311c7500c
commit 4f741e89b2

102
Amelia.sh
View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# Amelia Installer # Amelia Installer
# Version: 3.1 # Version: 3.2
########################################################################################### ###########################################################################################
# ### COLOR FUNCTIONS ### # ### COLOR FUNCTIONS ###
@ -274,7 +274,6 @@ REDBG " ----------------------------------------
########################################################################################### ###########################################################################################
slct_font (){ slct_font (){
local prompt="Fonts"
sleep 0.5 sleep 0.5
NC " NC "
______________________ ______________________
@ -305,7 +304,6 @@ Enter a number: "
return 1 return 1
fi fi
clear clear
ok
} }
########################################################################################### ###########################################################################################
uefi_check (){ uefi_check (){
@ -313,6 +311,9 @@ uefi_check (){
local prompt="UEFI Mode" local prompt="UEFI Mode"
sleep 0.5 sleep 0.5
NC " NC "
______________________________ ______________________________
${purple}###${nc} UEFI Mode Verification ${purple}###${nc} ${purple}###${nc} UEFI Mode Verification ${purple}###${nc}
@ -385,7 +386,7 @@ ${purple}###${nc} Main Menu ${purple}###${nc}
[3] Disk Management [3] Disk Management
[4] Start Installation " [4] Start Installation (Auto-Navigated) "
BLUE " BLUE "
@ -740,7 +741,7 @@ Enter a number: "
"") "")
until main_menu; do : ; done ;; until main_menu; do : ; done ;;
*) *)
invalidlocal invalid
return 1 ;; return 1 ;;
esac esac
} }
@ -1636,6 +1637,7 @@ Enter your Kernel parameters ${bwhite}(space-seperated)${blue}: "
boot_entr (){ boot_entr (){
local prompt="Boot Entries" local prompt="Boot Entries"
efi_entr_del="1"
sleep 0.5 sleep 0.5
NC " NC "
_________________________________ _________________________________
@ -1689,6 +1691,7 @@ Enter a${nc} ${cyan}BootOrder${blue} number for Deletion ${bwhite}(empty to skip
wireless_rgd (){ wireless_rgd (){
local prompt="Wireless Regdom Setup" local prompt="Wireless Regdom Setup"
wrlss_rgd="1"
hypervisor="$(systemd-detect-virt)" hypervisor="$(systemd-detect-virt)"
sleep 0.5 sleep 0.5
NC " NC "
@ -1704,6 +1707,7 @@ ${purple}###${nc} Wireless Regulatory Domain Setup ${purple}###${nc}
" "
skip skip
ok ok
NC
return 0 return 0
fi fi
@ -1843,7 +1847,7 @@ ______________________________________________
skip skip
ok ok
if [[ "${install}" == "1" ]]; then if [[ "${install}" == "yes" ]]; then
until instl_dsk; do : ; done until instl_dsk; do : ; done
else else
until dsks_submn; do : ; done until dsks_submn; do : ; done
@ -1919,8 +1923,10 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
until dsks_submn; do : ; done until dsks_submn; do : ; done
elif [[ "${sanity}" == "no" ]]; then elif [[ "${sanity}" == "no" ]]; then
until instl_dsk; do : ; done until instl_dsk; do : ; done
elif [[ "${revision}" == "yes" ]]; then
return 0
elif [[ "${sanity}" == "ok" ]]; then elif [[ "${sanity}" == "ok" ]]; then
if [[ "${automode}" == "1" ]]; then if [[ "${install}" == "yes" ]]; then
return 0 return 0
fi fi
until dsks_submn; do : ; done until dsks_submn; do : ; done
@ -2273,7 +2279,7 @@ Enter a name: "
########################################################################################### ###########################################################################################
instl (){ instl (){
install="1" install="yes"
if [[ -z "${SETLOCALE}" ]]; then if [[ -z "${SETLOCALE}" ]]; then
sleep 0.5 sleep 0.5
@ -2351,6 +2357,30 @@ instl (){
until slct_dsktp; do : ; done until slct_dsktp; do : ; done
fi fi
if [[ -z "${efi_entr_del}" ]]; then
sleep 0.5
RED "
[!] Please complete 'EFI Boot Entries Deletion' to continue
"
until boot_entr; do : ; done
fi
if [[ -z "${wrlss_rgd}" ]]; then
sleep 0.5
RED "
[!] Please complete 'Wireless Regulatory Domain Setup' to continue
"
until wireless_rgd; do : ; done
fi
if [[ "${sanity}" != "ok" ]]; then if [[ "${sanity}" != "ok" ]]; then
sleep 0.5 sleep 0.5
RED " RED "
@ -2464,7 +2494,6 @@ Enter a Mode number: "
########################################################################################### ###########################################################################################
auto_mode (){ auto_mode (){
automode="1"
sleep 0.5 sleep 0.5
YELLOW " YELLOW "
@ -2621,7 +2650,6 @@ auto_mode (){
ask_homepart_form ask_homepart_form
fi fi
fi fi
automode="0"
} }
########################################################################################### ###########################################################################################
manual_mode (){ manual_mode (){
@ -2786,20 +2814,7 @@ Enter a partition number ${bwhite}(empty to skip and proceed)${blue}: "
invalid invalid
return 1 return 1
fi fi
fi
done
skip
#------------------------------------------------------------------------------------------
if [[ -n "${form_root_nmbr}" ]]; then
rootpartname=" "
while [[ -n "${rootpartname}" ]]; do
sleep 0.5
YELLOW " YELLOW "
> Label the "${roottype}" partition " > Label the "${roottype}" partition "
@ -2811,6 +2826,7 @@ Enter a name ${bwhite}(empty to skip and proceed)${blue}: "
==> " rootpartname ==> " rootpartname
if [[ -n "${rootpartname}" ]]; then if [[ -n "${rootpartname}" ]]; then
if [[ "${fs}" == "1" ]]; then if [[ "${fs}" == "1" ]]; then
e2label "${rootpart}" "${rootpartname}" e2label "${rootpart}" "${rootpartname}"
elif [[ "${fs}" == "2" ]]; then elif [[ "${fs}" == "2" ]]; then
@ -2837,8 +2853,16 @@ Enter a name ${bwhite}(empty to skip and proceed)${blue}: "
NC " NC "
==> [${green}Label "${roottype}" OK${nc}] " ==> [${green}Label "${roottype}" OK${nc}] "
done return 0
else
skip
NC "
==> [${green}Format "${roottype}" OK${nc}] "
return 0
fi fi
done
} }
########################################################################################### ###########################################################################################
ask_homepart_form (){ ask_homepart_form (){
@ -3218,12 +3242,17 @@ ${purple}###${nc} Unmount Filesystems ${purple}###${nc}
########################################################################################### ###########################################################################################
revise (){ revise (){
revision="yes"
until slct_krnl; do : ; done until slct_krnl; do : ; done
until ask_bootldr; do : ; done until ask_bootldr; do : ; done
until ask_fs; do : ; done until ask_fs; do : ; done
until ask_swap; do : ; done until ask_swap; do : ; done
until dtct_vga; do : ; done until dtct_vga; do : ; done
until slct_dsktp; do : ; done until slct_dsktp; do : ; done
until boot_entr; do : ; done
until wireless_rgd; do : ; done
until disk_mngr; do : ; done
until instl_dsk; do : ; done until instl_dsk; do : ; done
until ask_crypt; do : ; done until ask_crypt; do : ; done
if [[ "${swapmode}" == "1" ]]; then if [[ "${swapmode}" == "1" ]]; then
@ -3231,7 +3260,6 @@ revise (){
fi fi
until set_mode; do : ; done until set_mode; do : ; done
until confirm_status; do : ; done until confirm_status; do : ; done
return 0
} }
########################################################################################### ###########################################################################################
sec_erase (){ sec_erase (){
@ -3633,8 +3661,11 @@ ${purple}###${nc} Pacstrap System ${purple}###${nc}
displaymanager="sddm" displaymanager="sddm"
bluetooth="bluetooth" bluetooth="bluetooth"
network="NetworkManager" ;; network="NetworkManager" ;;
2)
2) # NOTE: Plasma & Systemd-boot & Wayland (System Optimized) Packages:
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 kimageformats5 kinit kio-admin kio-gdrive kio-zeroconf kompare konsole kscreen kvantum kwrited latte-dock 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-qt5 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 plasma-wayland-session power-profiles-daemon powerdevil powerline powerline-fonts print-manager python-pyqt5 python-reportlab qbittorrent qt5-feedback qt5-imageformats qt5-virtualkeyboard qt5-xmlpatterns 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}"" ;; 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 kimageformats5 kinit kio-admin kio-gdrive kio-zeroconf kompare konsole kscreen kvantum kwrited latte-dock 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-qt5 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 plasma-wayland-session power-profiles-daemon powerdevil powerline powerline-fonts print-manager python-pyqt5 python-reportlab qbittorrent qt5-feedback qt5-imageformats qt5-virtualkeyboard qt5-xmlpatterns 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}"" ;;
3) 3)
deskpkgs=""${basepkgs}" gnome networkmanager" deskpkgs=""${basepkgs}" gnome networkmanager"
displaymanager="gdm" displaymanager="gdm"
@ -3891,6 +3922,8 @@ ${purple}###${nc} Chroot & Configure System ${purple}###${nc}
#------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------
# NOTE: Vanilla Desktops Basic Configuration
if [[ "${packages}" =~ ^(1|3|4|5|6|7|8|9|10)$ ]]; then if [[ "${packages}" =~ ^(1|3|4|5|6|7|8|9|10)$ ]]; then
arch-chroot /mnt <<-SYSTEM arch-chroot /mnt <<-SYSTEM
@ -4006,6 +4039,8 @@ NVIDIAHOOK
#------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------
# NOTE: Plasma & Systemd-boot & Wayland (System Optimized) Extended Configuration
if [[ "${packages}" == "2" ]]; then if [[ "${packages}" == "2" ]]; then
if [[ -n "${nrg_plc}" ]]; then if [[ -n "${nrg_plc}" ]]; then
@ -4184,6 +4219,8 @@ NVIDIAHOOK
#------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------
# NOTE: Custom System Basic Configuration (Add any extra/your own configuration below, if so desired )
if [[ "${packages}" == "11" ]]; then if [[ "${packages}" == "11" ]]; then
arch-chroot /mnt <<-CUSTOM arch-chroot /mnt <<-CUSTOM
sed -i "/^#${SETLOCALE}/s/^#//" /etc/locale.gen && sed -i "/^#${SETLOCALE}/s/^#//" /etc/locale.gen &&
@ -4288,9 +4325,6 @@ NVIDIAHOOK
tty="$(tty)" tty="$(tty)"
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)" disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
if [[ -e /run/archiso/cowspace ]]; then
mount -o remount,size="80%" /run/archiso/cowspace
fi
first_check first_check
sleep 1 sleep 1
CYAN " CYAN "
@ -4306,14 +4340,10 @@ NVIDIAHOOK
********************************* *********************************
"
read -s -p " > Hit 'Enter' to Proceed < " installation
NC "
"
if [[ -n "${installation}" ]]; then ${bwhite}Press any key to start"
abort read -s -n 1
fi
uefi_check uefi_check
upd_clock upd_clock
dtct_microcode dtct_microcode