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
# Source: https://gitlab.com/prism7/archery
# Version: 9.6.0
# Version: 9.7.0
set -euo pipefail
###################################################################################################
@@ -3310,12 +3310,13 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
ok
if [[ "${install}" == "yes" ]]; then
until instl_dsk; do : ; done
return 0
else
until dsks_submn; do : ; done
fi
return 0
fi
fi
fi
if [[ -n "${instl_drive}" ]]; then
gptdrive="${instl_drive}"
@@ -3351,9 +3352,9 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
> Make a Selection: "
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 "
BLUE "
@@ -3373,8 +3374,15 @@ Enter a number: "
sleep 0.2
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
gptok="no"
sleep 0.2
@@ -3401,8 +3409,15 @@ ______________________________________________
sleep 0.2
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
gptok="no"
sleep 0.2
@@ -3417,9 +3432,12 @@ ______________________________________________
fi
elif [[ -z "${gptslct}" ]]; then
if [[ -n "${instl_drive}" ]]; then
gptabort="yes"
skip
ok
line2
until instl_dsk; do : ; done
return 0
elif [[ -z "${instl_drive}" ]]; then
reload
return 1
@@ -3545,16 +3563,15 @@ auto_part() {
${magenta}###${nc}---------------------------------${magenta}[ ${bwhite}Automatic Partitioning${nc} ${magenta}]${nc}---------------------------------${magenta}###
"
if [[ -e "${instl_drive}" ]]; then
sleep 0.2
line2
REDBG " ------------------------------------------------------------ "
REDBG " [!] WARNING: All data on selected disk will be destroyed [!] "
REDBG " ------------------------------------------------------------ "
line2
if [[ -e "${instl_drive}" ]]; then
sgdsk_nmbr="${instl_dsk_nmbr}"
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}")"
cap_gib="$((capacity/1024000000))"
rootsize="$((capacity*25/100/1024000000))"
@@ -3566,12 +3583,8 @@ ${magenta}###${nc}---------------------------------${magenta}[ ${bwhite}Automati
-----------------------------------"
reload
until dsks_submn; do : ; done
return 0
fi
else
invalid
return 1
fi
sleep 0.2
NC "
-----------------------------------------------------------
@@ -3589,11 +3602,13 @@ ${magenta}###${nc}---------------------------------${magenta}[ ${bwhite}Automati
until smart_presets; do : ; done
until set_partsize; do : ; done
until partitioner; do : ; done
return 0
elif [[ "${smartpart}" == "n" ]]; then
alternatives
until manual_presets; do : ; done
until set_partsize; do : ; done
until partitioner; do : ; done
return 0
else
y_n
return 1
@@ -3627,22 +3642,26 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
-----------------------------------"
reload
until dsks_submn; do : ; done
return 0
fi
until manual_presets; do : ; done
until set_partsize; do : ; done
until partitioner; do : ; done
return 0
else
invalid
return 1
fi
else
skip
reload
local prompt="Partition Manager"
ok
fi
fi
if [[ -z "${sanity}" ]]; then
until dsks_submn; do : ; done
return 0
fi
}
###################################################################################################
@@ -3709,11 +3728,14 @@ Enter a Preset number ${bwhite}(empty to skip)${blue}: "
if [[ "${preset}" =~ ^(1|2|3|4)$ ]]; then
presetpart="y"
return 0
elif [[ -z "${preset}" && "${partok}" == "n" ]]; then
alternatives
manual_part
return 0
elif [[ -z "${preset}" ]]; then
skip
return 0
else
invalid
return 1
@@ -3784,6 +3806,13 @@ partitioner() {
if [[ "${partok}" == "y" ]]; then
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
if [[ "${smartpart}" == "y" ]]; then
@@ -3825,8 +3854,10 @@ partitioner() {
if [[ "${install}" == "yes" ]]; then
until sanity_check; do : ; done
else
if [[ -n "${preset}" ]]; then
ok
fi
fi
}
###################################################################################################
manual_part() {
@@ -3890,6 +3921,8 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
fi
else
skip
local prompt="Partition Manager"
ok
if [[ -z "${sanity}" ]]; then
until dsks_submn; do : ; done
@@ -3902,6 +3935,7 @@ Enter a disk number ${bwhite}(empty to skip)${blue}: "
###################################################################################################
instl_dsk() {
if [[ ! -e "${instl_drive}" ]]; then
sleep 0.2
NC "
@@ -3921,6 +3955,7 @@ Enter a disk number: "
read -r -p "
==> " instl_dsk_nmbr
echo
fi
if [[ -n "${instl_dsk_nmbr}" ]]; then
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"
fi
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
RED "
---------------------------------------
@@ -3953,6 +3997,7 @@ Enter a disk number: "
until gpt_mngr; do : ; done
return 0
fi
if [[ -z "${multibooting}" ]]; then
until ask_multibooting; do : ; done
fi
@@ -5860,7 +5905,7 @@ ${magenta}###${nc}-------------------------------${magenta}[ ${bwhite}Confirm In
###################################################################################################
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[@]}"
gfxpkgs=()
@@ -7493,7 +7538,7 @@ CUSTOMSERV
log="Amelia_log.txt"
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
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[@]}"
sleep 0.2
CYANBG "************************************************************************************************* "