From 86b08cfe912537d1b634df752c39410ab4803e03 Mon Sep 17 00:00:00 2001 From: Jane Doe Date: Sat, 9 Aug 2025 18:15:27 +0300 Subject: [PATCH] Add: Main Menu > System Configuration > Desktop Setup > Optimizations : The installer now offers installation of TLP Change: Bluetooth & Network Manager activation is done a bit differently Change: Minor code improvements for efficiency or aesthetics --- Amelia.sh | 194 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 117 insertions(+), 77 deletions(-) diff --git a/Amelia.sh b/Amelia.sh index fcfe5d2..1f74b10 100644 --- a/Amelia.sh +++ b/Amelia.sh @@ -2,7 +2,7 @@ # Amelia Installer # Source: https://gitlab.com/prism7/archery -# Version: 9.1.0 +# Version: 9.2.0 set -euo pipefail ################################################################################################### @@ -2114,17 +2114,17 @@ ${magenta}###${nc}------------------------------------${magenta}[ ${bwhite}Deskt [11] Basic Arch Linux (No GUI) [12] Custom Arch Linux - + [13] Cosmic ${red}## ${yellow}Alpha ${red}## " BLUE " Enter a number: " read -r -p " -==> " packages +==> " desktop echo - case "${packages}" in + case "${desktop}" in 1) desktopname="Plasma" deskname ;; @@ -2175,15 +2175,13 @@ Enter a number: " return 1 ;; esac ok - if [[ -n "${web}" ]]; then - if [[ "${packages}" =~ ^(11|12)$ ]]; then + + if [[ -n "${web}" && "${desktop}" =~ ^(11|12)$ ]]; then until web_browser; do : ; done - fi fi - if [[ "${printer}" == "y" ]]; then - if [[ "${packages}" =~ ^(11|12)$ ]]; then + + if [[ "${printer}" == "y" && "${desktop}" =~ ^(11|12)$ ]]; then until print_scan; do : ; done - fi fi } ################################################################################################### @@ -2348,7 +2346,7 @@ Enter [Y/n]: " ################################################################################################### web_browser() { - if [[ "${packages}" =~ ^(11|12)$ ]] && [[ -n "${revision}" ]]; then + if [[ "${desktop}" =~ ^(11|12)$ ]] && [[ -n "${revision}" ]]; then web_browser="" web_slct="" return 0 @@ -2360,7 +2358,7 @@ web_browser() { ${magenta}###${nc}----------------------------------${magenta}[ ${bwhite}Web browser Selection${nc} ${magenta}]${nc}----------------------------------${magenta}### " local prompt="Web Browser" - if [[ "${packages}" =~ ^(1|2|3|4|5|6|7|8|9|10|13)$ ]]; then + if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then sleep 0.2 YELLOW " @@ -2461,7 +2459,7 @@ ${magenta}###${nc}--------------------------------${magenta}[ ${bwhite}Printer & " local prompt="Printer & Scanner Support" if [[ "${hypervisor}" == "none" ]]; then - if [[ "${packages}" =~ ^(1|2|3|4|5|6|7|8|9|10|13)$ ]]; then + if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then sleep 0.2 YELLOW " @@ -2483,9 +2481,9 @@ Enter [Y/n]: " case "${printer}" in y) - if [[ "${packages}" == "2" ]]; then + if [[ "${desktop}" == "2" ]]; then print_pkgs="cups-pdf cups-browsed cups-pk-helper ipp-usb nss-mdns sane-airscan print-manager skanlite system-config-printer xdg-utils colord" - elif [[ "${packages}" == "4" ]]; then + elif [[ "${desktop}" == "4" ]]; then print_pkgs="cups-pdf cups-browsed cups-pk-helper ipp-usb nss-mdns sane-airscan simple-scan system-config-printer xdg-utils colord" else print_pkgs="cups-pdf cups-browsed cups-pk-helper ipp-usb nss-mdns sane-airscan system-config-printer xdg-utils colord" @@ -2624,12 +2622,14 @@ ${magenta}###${nc}--------------------------------------${magenta}[ ${bwhite}Opt [6] Irqbalance [7] Thermald - + [8] Rng-tools [9] Rtkit - [ ] Return to System Configuration " + [10] Tlp + + [ ] Return to System Configuration " BLUE " @@ -2665,6 +2665,9 @@ Enter a number: " 9) until rtkit; do : ; done return 1 ;; + 10) + until tlp; do : ; done + return 1 ;; "") set_optm_slct="yes" until sys_submn; do : ; done ;; @@ -3123,6 +3126,51 @@ Enter [Y/n]: " ok } ################################################################################################### +tlp() { + + local prompt="Tlp Setup" + sleep 0.2 + NC " + + +${magenta}###${nc}----------------------------------------${magenta}[ ${bwhite}Tlp Setup${nc} ${magenta}]${nc}----------------------------------------${magenta}### + " + sleep 0.2 + YELLOW " + + + ### Tlp is a laptop battery power saving utility for Linux + + ### working out-of-the-box & easy to further configure + + + + > Install & enable ${nc}'tlp' ${yellow} ? [y/N] " + BLUE " + + +Enter [y/N]: " + read -r -p " +==> " tlp + + echo + tlp="${tlp:-n}" + tlp="${tlp,,}" + + if [[ "${tlp}" == "y" ]]; then + YELLOW " + + ### 'tlp' service will be enabled + " + elif [[ "${tlp}" == "n" ]]; then + skip + else + y_n + return 1 + fi + ok +} +################################################################################################### dsks_submn() { sleep 0.2 @@ -3490,13 +3538,13 @@ ${magenta}###${nc}------------------------------------${magenta}[ ${bwhite}Prese - [1] Create '/ESP' and '/Root' (${cyan}Ext4${nc},${magenta}Btrfs${nc}) + [1] Create '/ESP' & '/Root' (${cyan}Ext4${nc},${magenta}Btrfs${nc}) - [2] Create '/ESP', '/Root' and '/Swap' (${cyan}Ext4${nc},${magenta}Btrfs${nc}) + [2] Create '/ESP', '/Root' & '/Swap' (${cyan}Ext4${nc},${magenta}Btrfs${nc}) - [3] Create '/ESP', '/Root' and '/Home' (${cyan}Ext4${nc}) + [3] Create '/ESP', '/Root' & '/Home' (${cyan}Ext4${nc}) - [4] Create '/ESP', '/Root', '/Home' and '/Swap' (${cyan}Ext4${nc}) " + [4] Create '/ESP', '/Root', '/Home' & '/Swap' (${cyan}Ext4${nc}) " BLUE " @@ -4679,7 +4727,7 @@ instl() { until dtct_gfx; do : ; done fi - if [[ -z "${packages}" ]]; then + if [[ -z "${desktop}" ]]; then local stage_prompt="Desktop Setup" completion_err until dsktp_slct; do : ; done @@ -4688,14 +4736,14 @@ instl() { until base_devel; do : ; done fi if [[ -z "${web_slct}" ]]; then - if [[ ! "${packages}" =~ ^(11|12)$ ]]; then + if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then until web_browser; do : ; done fi fi if [[ "${hypervisor}" == "none" ]]; then if [[ -z "${printer}" ]]; then - if [[ ! "${packages}" =~ ^(11|12)$ ]]; then + if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then until print_scan; do : ; done fi fi @@ -5659,7 +5707,7 @@ ${magenta}###${nc}-------------------------------${magenta}[ ${bwhite}Confirm In revise() { revision="yes" - reset=(xbootloader="" gfxconf="" vendor_slct="" vendor="" packages="" 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_browser="" web_slct="" set_optm_slct="" oomd="" irqbalance="" thermald="" rngd="" rtkit="") + reset=(xbootloader="" gfxconf="" vendor_slct="" vendor="" desktop="" 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_browser="" web_slct="" set_optm_slct="" oomd="" irqbalance="" thermald="" rngd="" rtkit="" tlp="") export "${reset[@]}" gfxpkgs=() @@ -6086,12 +6134,12 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs fi fi - if [[ -n "${shell}" ]]; then - basepkgs=(base efibootmgr nano networkmanager pkgstats sudo vim "${bootldr_pkgs}" "${fstools}" "${kernel}" "${microcode}" "${shell}") - else - basepkgs=(base efibootmgr nano networkmanager pkgstats sudo vim "${bootldr_pkgs}" "${fstools}" "${kernel}" "${microcode}") - fi + basepkgs=(base efibootmgr nano networkmanager pkgstats sudo vim "${bootldr_pkgs}" "${fstools}" "${kernel}" "${microcode}" "${shell_pkgs}") + + if [[ -n "${shell}" ]]; then + basepkgs+=("${shell}") + fi if [[ -n "${nrg_plc}" ]]; then basepkgs+=("${nrg_plc}") fi @@ -6100,12 +6148,9 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs else basepkgs+=(alsa-firmware linux-firmware sof-firmware) fi - if [[ ! "${packages}" =~ ^(11|12)$ ]]; then + if [[ ! "${desktop}" =~ ^(11|12)$ ]]; then basepkgs+=(7zip alsa-utils exfatprogs git glibc-locales gst-libav gst-plugin-libcamera gst-plugin-pipewire gst-plugins-bad gst-plugins-good gst-plugins-ugly libfido2 man-db man-pages mesa-utils nano-syntax-highlighting pacman-contrib pipewire-libcamera pipewire-pulse pipewire-zeroconf reflector xdg-user-dirs) fi - if [[ "${packages}" != "12" ]]; then - basepkgs+=("${shell_pkgs}") - fi if [[ -n "${ukify}" ]]; then basepkgs+=("${ukify}") fi @@ -6131,67 +6176,50 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs basepkgs+=("${web_browser}") fi - case "${packages}" in + case "${desktop}" in 1) # Plasma Desktop: deskpkgs="${basepkgs[*]} dolphin-plugins konsole plasma plasma-x11-session qt6-multimedia-gstreamer" - displaymanager="sddm" - bluetooth="bluetooth" - network="NetworkManager" ;; + displaymanager="sddm" ;; 2) # Plasma Light Desktop: deskpkgs="${basepkgs[*]} ark bluedevil breeze-gtk colord-kde dolphin-plugins flatpak-kcm freerdp kate kcalc kclock kde-gtk-config kdegraphics-mobipocket kdegraphics-thumbnailers kdenetwork-filesharing kdeplasma-addons kdf kdialog keditbookmarks kget kimageformats kio-admin kio-gdrive kio-zeroconf konsole krdc krfb kscreen kwayland-integration kwrited okular purpose ocean-sound-theme packagekit-qt6 partitionmanager plasma5-integration plasma-browser-integration plasma-desktop plasma-disks plasma-firewall plasma-nm plasma-pa plasma-systemmonitor plasma-wayland-protocols plasma-x11-session sddm-kcm spectacle appmenu-gtk-module arj bluez-obex dosfstools ffmpegthumbs icoutils kvantum libappimage lrzip lzop maliit-keyboard ntfs-3g power-profiles-daemon qt5-xmlpatterns qt6-connectivity qt6-multimedia-gstreamer unarchiver unrar xdg-desktop-portal-gtk" - displaymanager="sddm" - bluetooth="bluetooth" - network="NetworkManager" ;; + displaymanager="sddm" ;; 3) # Gnome Desktop: deskpkgs="${basepkgs[*]} gnome" - displaymanager="gdm" - bluetooth="bluetooth" - network="NetworkManager" ;; + displaymanager="gdm" ;; 4) # Gnome Light Desktop: deskpkgs="${basepkgs[*]} dconf-editor file-roller gdm gnome-browser-connector gnome-calculator gnome-clocks gnome-console gnome-control-center gnome-disk-utility gnome-keyring gnome-menus gnome-shell-extensions gnome-system-monitor gnome-text-editor gnome-tweaks gnome-user-share gvfs gvfs-afc gvfs-mtp gvfs-smb loupe papers sushi dosfstools glib2-devel gparted ntfs-3g power-profiles-daemon unrar unzip xorg-xhost zip" - displaymanager="gdm" - bluetooth="bluetooth" - network="NetworkManager" ;; + displaymanager="gdm" ;; 5) # Xfce Desktop: deskpkgs="${basepkgs[*]} blueman catfish ffmpegthumbnailer gvfs gvfs-afc gvfs-mtp gvfs-smb libgsf libopenraw lightdm-gtk-greeter mousepad mugshot network-manager-applet pavucontrol poppler-glib ristretto thunar-archive-plugin thunar-media-tags-plugin thunar-shares-plugin xfce4 xfce4-artwork xfce4-battery-plugin xfce4-clipman-plugin xfce4-datetime-plugin xfce4-indicator-plugin xfce4-mount-plugin xfce4-power-manager xfce4-pulseaudio-plugin xfce4-screensaver xfce4-screenshooter xfce4-taskmanager xfce4-whiskermenu-plugin xfce4-power-manager xiccd" - displaymanager="lightdm" - network="NetworkManager" ;; + displaymanager="lightdm" ;; 6) # Cinnamon Desktop: deskpkgs="${basepkgs[*]} blueman cinnamon ffmpegthumbnailer gnome-color-manager gnome-keyring lightdm-slick-greeter touchegg wget ${terminal}" - displaymanager="lightdm" - bluetooth="bluetooth" - network="NetworkManager" ;; + displaymanager="lightdm" ;; 7) # Deepin Desktop: deskpkgs="${basepkgs[*]} adobe-source-han-sans-otc-fonts bluez deepin deepin-album deepin-calculator deepin-camera deepin-clipboard deepin-community-wallpapers deepin-compressor deepin-device-formatter deepin-editor deepin-font-manager deepin-grand-search deepin-kwin deepin-movie deepin-printer deepin-reader deepin-screensaver deepin-shortcut-viewer deepin-terminal gtk-engine-murrine iw proxychains-ng qt6-multimedia-gstreamer redshift zssh" - displaymanager="lightdm" - network="NetworkManager" ;; + displaymanager="lightdm" ;; 8) # Budgie Desktop: deskpkgs="${basepkgs[*]} blueman budgie gnome-user-share lightdm-gtk-greeter nautilus network-manager-applet openssh papirus-icon-theme power-profiles-daemon rygel ${terminal}" - displaymanager="lightdm" - network="NetworkManager" ;; + displaymanager="lightdm" ;; 9) # Lxqt Desktop: deskpkgs="${basepkgs[*]} blueman breeze-icons gvfs gvfs-mtp kimageformats libarchive lxqt network-manager-applet oxygen-icons python-pyxdg qt6-imageformats qt6-multimedia-gstreamer sddm xscreensaver xsettingsd" - displaymanager="sddm" - network="NetworkManager" ;; + displaymanager="sddm" ;; 10) # Mate Desktop: deskpkgs="${basepkgs[*]} atril blueman caja-actions caja-audio-video-properties caja-open-terminal caja-sendto caja-share caja-wallpaper cpio engrampa eom gnome-keyring gtk-engine-murrine gtk-engines lightdm-gtk-greeter mate mate-applets mate-calc mate-icon-theme mate-icon-theme-faenza mate-media mate-netbook mate-power-manager mate-screensaver mate-system-monitor mate-terminal mate-user-share mate-utils mozo network-manager-applet pluma python-gobject unace unrar webp-pixbuf-loader xdg-user-dirs-gtk" - displaymanager="lightdm" - bluetooth="bluetooth" - network="NetworkManager" ;; + displaymanager="lightdm" ;; 11) # Base System: - deskpkgs="${basepkgs[*]}" - network="NetworkManager" ;; + deskpkgs="${basepkgs[*]}" ;; 12) # Custom System: custarray=(base sudo "${bootldr_pkgs}" "${custompkgs}" "${fstools}" "${kernel}" "${microcode}") @@ -6229,8 +6257,7 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs 13) # Cosmic Desktop: deskpkgs="${basepkgs[*]} cosmic cosmic-player dconf packagekit power-profiles-daemon pulseaudio-alsa" - displaymanager="cosmic-greeter" - network="NetworkManager" ;; + displaymanager="cosmic-greeter" ;; esac pkg_displ @@ -6724,6 +6751,19 @@ RTKIT fi fi + if [[ "${tlp}" == "y" ]]; then + local stage_prompt="Tlp Service Activation" + if arch-chroot /mnt <<-TLP > /dev/null 2>&1 2> amelia_log.txt ; then + pacman -S --noconfirm tlp || exit + systemctl enable tlp + systemctl mask systemd-rfkill.service systemd-rfkill.socket || exit +TLP + stage_ok + else + stage_fail + fi + fi + if [[ "${printer}" == "y" ]]; then local stage_prompt="Print & Scan Services Activation" if arch-chroot /mnt <<-PRINT_CONF > /dev/null 2>&1 2> amelia_log.txt ; then @@ -7089,13 +7129,13 @@ chroot_conf() { ${magenta}###${nc}--------------------------------${magenta}[ ${bwhite}Chroot & Configure System${nc} ${magenta}]${nc}--------------------------------${magenta}###${nc} " - # 'Vanilla' Setups Configuration: - if [[ "${packages}" != "12" ]]; then + # All Desktop Configuration: + if [[ "${desktop}" != "12" ]]; then cnfg main_chroot if [[ -f /mnt/etc/lightdm/lightdm.conf ]]; then - if [[ "${packages}" == "7" ]]; then + if [[ "${desktop}" == "7" ]]; then local stage_prompt="Deepin Greeter Configuration" if arch-chroot /mnt <<-DEEPIN > /dev/null 2>&1 2> amelia_log.txt ; then sed -i 's|^#greeter-session=example-gtk-gnome|greeter-session=lightdm-deepin-greeter|g' /etc/lightdm/lightdm.conf || exit @@ -7104,7 +7144,7 @@ DEEPIN else stage_fail fi - elif [[ "${packages}" == "5" || "${packages}" == "8" || "${packages}" == "10" ]]; then + elif [[ "${desktop}" =~ ^(5|8|10)$ ]]; then local stage_prompt="GTK Greeter Configuration" if arch-chroot /mnt <<-GTK > /dev/null 2>&1 2> amelia_log.txt ; then sed -i 's|^#greeter-session=example-gtk-gnome|greeter-session=lightdm-gtk-greeter|g' /etc/lightdm/lightdm.conf || exit @@ -7113,7 +7153,7 @@ GTK else stage_fail fi - elif [[ "${packages}" == "6" ]]; then + elif [[ "${desktop}" == "6" ]]; then local stage_prompt="Slick Greeter Configuration" if arch-chroot /mnt <<-SLICK > /dev/null 2>&1 2> amelia_log.txt ; then sed -i 's|^#greeter-session=example-gtk-gnome|greeter-session=lightdm-slick-greeter|g' /etc/lightdm/lightdm.conf || exit @@ -7126,10 +7166,10 @@ SLICK fi if [[ "${vendor}" != "Virtual Machine" ]]; then - if [[ -n "${bluetooth}" ]]; then + if [[ ! "${desktop}" =~ ^(11|12|13)$ ]]; then local stage_prompt="Bluetooth Service Activation" if arch-chroot /mnt <<-BLUETOOTH > /dev/null 2>&1 2> amelia_log.txt ; then - systemctl enable ${bluetooth} || exit + systemctl enable bluetooth || exit BLUETOOTH stage_ok else @@ -7149,10 +7189,10 @@ DMSERVICE fi fi - if [[ -n "${network}" ]]; then + if [[ "${desktop}" != "12" ]]; then local stage_prompt="Network Manager Service Activation" if arch-chroot /mnt <<-NETWORK > /dev/null 2>&1 2> amelia_log.txt ; then - systemctl enable ${network} || exit + systemctl enable NetworkManager || exit NETWORK stage_ok else @@ -7161,8 +7201,8 @@ NETWORK fi fi #-------------------------------------------------------------------------------------------------- - # 'Custom System' Configuration: - if [[ "${packages}" == "12" ]]; then + # Custom System Configuration: + if [[ "${desktop}" == "12" ]]; then cnfg main_chroot @@ -7230,7 +7270,7 @@ CUSTOMSERV tty="$(tty)" 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="" packages="" efi_entr_del="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" revision="" greeternmbr="" cust_bootopts="" bluetooth="" 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="" 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_browser="" printer="" print_pkgs="" shellnmbr="" shell="" shellname="" shellname2="" shell_pkgs="" genoptm="" set_optm="" ask_param="" desk_setup="" web_slct="" set_optm_slct="" irqbalance="" thermald="" rngd="" rtkit="") + 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="" efi_entr_del="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" revision="" 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="" 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_browser="" printer="" print_pkgs="" shellnmbr="" shell="" shellname="" shellname2="" shell_pkgs="" genoptm="" set_optm="" ask_param="" desk_setup="" web_slct="" set_optm_slct="" irqbalance="" thermald="" rngd="" rtkit="" tlp="") export "${vars[@]}" clear first_check