Change: Refined script logic.

Now, when in 'Auto-Navigation', a few repetitive stages are omitted, to provide a more streamlined user experience.
Add: A few prompts have been edited/added for enhanced aesthetics.
This commit is contained in:
Jane Doe
2025-09-23 23:09:15 +03:00
parent 08c6a32048
commit 7f51cc3ec7
+64 -19
View File
@@ -2,7 +2,7 @@
# Amelia Installer # Amelia Installer
# Source: https://gitlab.com/prism7/archery # Source: https://gitlab.com/prism7/archery
# Version: 9.6.0 # Version: 9.7.0
set -euo pipefail set -euo pipefail
################################################################################################### ###################################################################################################
@@ -3310,12 +3310,13 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
ok ok
if [[ "${install}" == "yes" ]]; then if [[ "${install}" == "yes" ]]; then
until instl_dsk; do : ; done until instl_dsk; do : ; done
return 0
else else
until dsks_submn; do : ; done until dsks_submn; do : ; done
fi
return 0 return 0
fi fi
fi fi
fi
if [[ -n "${instl_drive}" ]]; then if [[ -n "${instl_drive}" ]]; then
gptdrive="${instl_drive}" gptdrive="${instl_drive}"
@@ -3351,9 +3352,9 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
> Make a Selection: " > Make a Selection: "
NC " NC "
[1] Create new GPT table on selected disk [Destroy any existing GPT/MBR structures] [1] Create new GPT on selected disk [Destroy any existing GPT/MBR structures]
[2] Use the program interactively [Expert Mode] [2] Use the 'gdisk' program interactively [Expert Mode]
[ ] Return to Previous Menu " [ ] Return to Previous Menu "
BLUE " BLUE "
@@ -3373,8 +3374,15 @@ Enter a number: "
sleep 0.2 sleep 0.2
NC " NC "
==> [${green}GPT Entries OK${nc}] ==> [${green}GPT OK${nc}] "
"
if [[ "${install}" == "yes" ]]; then
until instl_dsk; do : ; done
return 0
else
until dsks_submn; do : ; done
return 0
fi
else else
gptok="no" gptok="no"
sleep 0.2 sleep 0.2
@@ -3401,8 +3409,15 @@ ______________________________________________
sleep 0.2 sleep 0.2
NC " NC "
==> [${green}GPT Entries OK${nc}] ==> [${green}GPT OK${nc}] "
"
if [[ "${install}" == "yes" ]]; then
until instl_dsk; do : ; done
return 0
else
until dsks_submn; do : ; done
return 0
fi
else else
gptok="no" gptok="no"
sleep 0.2 sleep 0.2
@@ -3417,9 +3432,12 @@ ______________________________________________
fi fi
elif [[ -z "${gptslct}" ]]; then elif [[ -z "${gptslct}" ]]; then
if [[ -n "${instl_drive}" ]]; then if [[ -n "${instl_drive}" ]]; then
gptabort="yes"
skip skip
ok ok
line2
until instl_dsk; do : ; done until instl_dsk; do : ; done
return 0
elif [[ -z "${instl_drive}" ]]; then elif [[ -z "${instl_drive}" ]]; then
reload reload
return 1 return 1
@@ -3545,16 +3563,15 @@ auto_part() {
${magenta}###${nc}---------------------------------${magenta}[ ${bwhite}Automatic Partitioning${nc} ${magenta}]${nc}---------------------------------${magenta}### ${magenta}###${nc}---------------------------------${magenta}[ ${bwhite}Automatic Partitioning${nc} ${magenta}]${nc}---------------------------------${magenta}###
" "
if [[ -e "${instl_drive}" ]]; then
sleep 0.2 sleep 0.2
line2 line2
REDBG " ------------------------------------------------------------ " REDBG " ------------------------------------------------------------ "
REDBG " [!] WARNING: All data on selected disk will be destroyed [!] " REDBG " [!] WARNING: All data on selected disk will be destroyed [!] "
REDBG " ------------------------------------------------------------ " REDBG " ------------------------------------------------------------ "
line2 line2
if [[ -e "${instl_drive}" ]]; then
sgdsk_nmbr="${instl_dsk_nmbr}" sgdsk_nmbr="${instl_dsk_nmbr}"
sgdrive="$(echo "${disks}" | awk "\$1 == ${sgdsk_nmbr} {print \$2}")" sgdrive="$(echo "${disks}" | awk "\$1 == ${sgdsk_nmbr} {print \$2}")"
if [[ -e "${sgdrive}" ]]; then
capacity="$(fdisk -l "${sgdrive}" | grep -E 'bytes' | grep -E 'Disk' | awk "{print \$5}")" capacity="$(fdisk -l "${sgdrive}" | grep -E 'bytes' | grep -E 'Disk' | awk "{print \$5}")"
cap_gib="$((capacity/1024000000))" cap_gib="$((capacity/1024000000))"
rootsize="$((capacity*25/100/1024000000))" rootsize="$((capacity*25/100/1024000000))"
@@ -3566,12 +3583,8 @@ ${magenta}###${nc}---------------------------------${magenta}[ ${bwhite}Automati
-----------------------------------" -----------------------------------"
reload reload
until dsks_submn; do : ; done until dsks_submn; do : ; done
return 0
fi fi
else
invalid
return 1
fi
sleep 0.2 sleep 0.2
NC " NC "
----------------------------------------------------------- -----------------------------------------------------------
@@ -3589,11 +3602,13 @@ ${magenta}###${nc}---------------------------------${magenta}[ ${bwhite}Automati
until smart_presets; do : ; done until smart_presets; do : ; done
until set_partsize; do : ; done until set_partsize; do : ; done
until partitioner; do : ; done until partitioner; do : ; done
return 0
elif [[ "${smartpart}" == "n" ]]; then elif [[ "${smartpart}" == "n" ]]; then
alternatives alternatives
until manual_presets; do : ; done until manual_presets; do : ; done
until set_partsize; do : ; done until set_partsize; do : ; done
until partitioner; do : ; done until partitioner; do : ; done
return 0
else else
y_n y_n
return 1 return 1
@@ -3627,22 +3642,26 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
-----------------------------------" -----------------------------------"
reload reload
until dsks_submn; do : ; done until dsks_submn; do : ; done
return 0
fi fi
until manual_presets; do : ; done until manual_presets; do : ; done
until set_partsize; do : ; done until set_partsize; do : ; done
until partitioner; do : ; done until partitioner; do : ; done
return 0
else else
invalid invalid
return 1 return 1
fi fi
else else
skip skip
reload local prompt="Partition Manager"
ok
fi fi
fi fi
if [[ -z "${sanity}" ]]; then if [[ -z "${sanity}" ]]; then
until dsks_submn; do : ; done until dsks_submn; do : ; done
return 0
fi fi
} }
################################################################################################### ###################################################################################################
@@ -3709,11 +3728,14 @@ Enter a Preset number ${bwhite}(empty to skip)${blue}: "
if [[ "${preset}" =~ ^(1|2|3|4)$ ]]; then if [[ "${preset}" =~ ^(1|2|3|4)$ ]]; then
presetpart="y" presetpart="y"
return 0
elif [[ -z "${preset}" && "${partok}" == "n" ]]; then elif [[ -z "${preset}" && "${partok}" == "n" ]]; then
alternatives alternatives
manual_part manual_part
return 0
elif [[ -z "${preset}" ]]; then elif [[ -z "${preset}" ]]; then
skip skip
return 0
else else
invalid invalid
return 1 return 1
@@ -3784,6 +3806,13 @@ partitioner() {
if [[ "${partok}" == "y" ]]; then if [[ "${partok}" == "y" ]]; then
return 0 return 0
elif [[ -z "${preset}" && "${install}" == "yes" ]]; then
until sanity_check; do : ; done
return 0
elif [[ -z "${preset}" ]]; then
local prompt="Partition Manager"
ok
return 0
fi fi
if [[ "${smartpart}" == "y" ]]; then if [[ "${smartpart}" == "y" ]]; then
@@ -3825,8 +3854,10 @@ partitioner() {
if [[ "${install}" == "yes" ]]; then if [[ "${install}" == "yes" ]]; then
until sanity_check; do : ; done until sanity_check; do : ; done
else else
if [[ -n "${preset}" ]]; then
ok ok
fi fi
fi
} }
################################################################################################### ###################################################################################################
manual_part() { manual_part() {
@@ -3890,6 +3921,8 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
fi fi
else else
skip skip
local prompt="Partition Manager"
ok
if [[ -z "${sanity}" ]]; then if [[ -z "${sanity}" ]]; then
until dsks_submn; do : ; done until dsks_submn; do : ; done
@@ -3902,6 +3935,7 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
################################################################################################### ###################################################################################################
instl_dsk() { instl_dsk() {
if [[ ! -e "${instl_drive}" ]]; then
sleep 0.2 sleep 0.2
NC " NC "
@@ -3921,6 +3955,7 @@ Enter a disk number: "
read -r -p " read -r -p "
==> " instl_dsk_nmbr ==> " instl_dsk_nmbr
echo echo
fi
if [[ -n "${instl_dsk_nmbr}" ]]; then if [[ -n "${instl_dsk_nmbr}" ]]; then
instl_drive="$(echo "${disks}" | awk "\$1 == ${instl_dsk_nmbr} {print \$2}")" instl_drive="$(echo "${disks}" | awk "\$1 == ${instl_dsk_nmbr} {print \$2}")"
@@ -3943,7 +3978,16 @@ Enter a disk number: "
sbvl_mnt_opts="rw,compress=zstd" sbvl_mnt_opts="rw,compress=zstd"
fi fi
parttable="$(fdisk -l "${instl_drive}" | grep '^Disklabel type' | awk "{print \$3}")" parttable="$(fdisk -l "${instl_drive}" | grep '^Disklabel type' | awk "{print \$3}")"
if [[ "${parttable}" != "gpt" ]]; then if [[ "${parttable}" != "gpt" && -n "${gptabort}" ]]; then
sleep 0.2
RED "
---------------------------------------
### ${yellow}Please create GPT to continue ${red}###
---------------------------------------"
reload
until gpt_mngr; do : ; done
return 0
elif [[ "${parttable}" != "gpt" ]]; then
sleep 0.2 sleep 0.2
RED " RED "
--------------------------------------- ---------------------------------------
@@ -3953,6 +3997,7 @@ Enter a disk number: "
until gpt_mngr; do : ; done until gpt_mngr; do : ; done
return 0 return 0
fi fi
if [[ -z "${multibooting}" ]]; then if [[ -z "${multibooting}" ]]; then
until ask_multibooting; do : ; done until ask_multibooting; do : ; done
fi fi
@@ -5860,7 +5905,7 @@ ${magenta}###${nc}-------------------------------${magenta}[ ${bwhite}Confirm In
################################################################################################### ###################################################################################################
revise() { revise() {
reset=(xbootloader="" gfxconf="" vendor_slct="" vendor="" desktop="" terminal="" custompkgs="" customservices="" cust_bootopts="" REGDOM="" autoroot="" autoxboot="" autohome="" autoswap="" vendors="" lowlat="" nogsp="" sanity="" smartpart="" partok="" preset="" presetpart="" set_optm="" ask_param="" kill_watchdog="" genoptm="" desk_setup="" devel="" web="" web_pkg="" web_aur="" web_slct="" set_optm_slct="" oomd="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="") reset=(xbootloader="" gfxconf="" vendor_slct="" vendor="" desktop="" terminal="" custompkgs="" customservices="" cust_bootopts="" REGDOM="" autoroot="" autoxboot="" autohome="" autoswap="" vendors="" lowlat="" nogsp="" sanity="" smartpart="" partok="" preset="" presetpart="" set_optm="" ask_param="" kill_watchdog="" genoptm="" desk_setup="" devel="" web="" web_pkg="" web_aur="" web_slct="" set_optm_slct="" oomd="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="" gptabort="")
export "${reset[@]}" export "${reset[@]}"
gfxpkgs=() gfxpkgs=()
@@ -7493,7 +7538,7 @@ CUSTOMSERV
log="Amelia_log.txt" log="Amelia_log.txt"
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)" disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
trg="" trg=""
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" gfxcount="" gfxcard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" gfxconf="" gfx_conf="" gfx_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" desktop="" terminal="" efi_entr_del="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" greeternmbr="" cust_bootopts="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" gfx_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" zram_bootopts="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" mkinitcpio_bins="" uki="" ukify="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="" setrescue="" lowlat="" vendors="" dev="" web="" web_pkg="" web_aur="" web_slct="" printer="" print_pkgs="" shellnmbr="" shell="" shellname="" shellname2="" shell_pkgs="" genoptm="" set_optm="" ask_param="" desk_setup="" set_optm_slct="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="") vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" gfxcount="" gfxcard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" gfxconf="" gfx_conf="" gfx_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" desktop="" terminal="" efi_entr_del="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" greeternmbr="" cust_bootopts="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" gfx_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" zram_bootopts="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" mkinitcpio_bins="" uki="" ukify="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="" setrescue="" lowlat="" vendors="" dev="" web="" web_pkg="" web_aur="" web_slct="" printer="" print_pkgs="" shellnmbr="" shell="" shellname="" shellname2="" shell_pkgs="" genoptm="" set_optm="" ask_param="" desk_setup="" set_optm_slct="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="" gptabort="")
export "${vars[@]}" export "${vars[@]}"
sleep 0.2 sleep 0.2
CYANBG "************************************************************************************************* " CYANBG "************************************************************************************************* "