Add: The 'Pantheon' Desktop Environment is now available for installation

Add: 'KDE Plasma' > A new prompt offers installing X11 session support
Add: 'Xfce' > A new prompt offers installing experimental Wayland session support
Add: 'Lxqt' > A new prompt offers installing experimental Wayland session support
Add: The complimentary package 'lightdm-gtk-greeter-settings' is added when 'lightdm-gtk-greeter' has been selected
Add: 'Lxqt': Package 'xorg-xrdb' has been added
This commit is contained in:
Jane Doe
2026-03-19 22:23:53 +02:00
parent aa840a8756
commit 6b387d24fc
+111 -26
View File
@@ -1,7 +1,7 @@
#!/bin/bash
# Amelia installer for Archlinux
# Version: 1.2.8
# Version: 1.3.0
# Source: https://gitlab.com/prism7/archery
# Contact: leenooks7@gmail.com
@@ -380,6 +380,37 @@ failure() {
fi
exit
}
alt_session_support() {
sleep 0.2
YELLOW "
### NOTE: ${desktopname} desktop defaults to a(n) ${session} session
> Install ${nc}${alt_session} ${yellow}session support ? [N/y] "
BLUE "
Enter [N/y]: "
read -r -p "
==> " session_support
session_support="${session_support:-n}"
session_support="${session_support,,}"
case "${session_support}" in
y)
sleep 0.2
NC "
==> [${green}${alt_session} support OK${nc}] " ;;
n)
skip ;;
*)
invalid
until alt_session_support; do : ; done ;;
esac
}
# END PROMPT FUNCTIONS
###################################################################################################
# SYSTEM FUNCTIONS
@@ -2124,7 +2155,9 @@ ${magenta}###${nc}------------------------------------${magenta}[ ${bwhite}Deskt
[12] Custom Arch Linux
[13] Cosmic "
[13] Cosmic
[14] Pantheon "
BLUE "
@@ -2136,10 +2169,18 @@ Enter a number: "
case "${desktop}" in
1)
desktopname="Plasma"
deskname ;;
deskname
session="Wayland"
alt_session="X11"
alt_session_support
alt_session_pack="plasma-x11-session" ;;
2)
desktopname="Plasma Lite"
deskname ;;
deskname
session="Wayland"
alt_session="X11"
alt_session_support
alt_session_pack="plasma-x11-session" ;;
3)
desktopname="Gnome"
deskname ;;
@@ -2148,7 +2189,11 @@ Enter a number: "
deskname ;;
5)
desktopname="Xfce"
deskname ;;
deskname
session="X11"
alt_session="Wayland (experimental)"
alt_session_support
alt_session_pack="labwc";;
6)
desktopname="Cinnamon"
deskname
@@ -2162,7 +2207,11 @@ Enter a number: "
term_offer ;;
9)
desktopname="Lxqt"
deskname ;;
deskname
session="X11"
alt_session="Wayland (experimental)"
alt_session_support
alt_session_pack="labwc lxqt-wayland-session waylock" ;;
10)
desktopname="Mate"
deskname ;;
@@ -2176,11 +2225,16 @@ Enter a number: "
13)
desktopname="Cosmic"
deskname ;;
14)
desktopname="Pantheon"
deskname ;;
"")
choice
keypress
return 1 ;;
*)
invalid
keypress
return 1 ;;
esac
ok
@@ -2246,7 +2300,9 @@ ${magenta}###${nc}--------------------------------${magenta}[ ${bwhite}LightDM G
[2] Slick
[3] Deepin "
[3] Deepin
[4] Pantheon "
BLUE "
@@ -2273,6 +2329,12 @@ Enter a number: "
NC "
==> [${green}Lightdm Deepin Greeter OK${nc}] " ;;
4)
greeter="lightdm-pantheon-greeter"
sleep 0.2
NC "
==> [${green}Lightdm Pantheon Greeter OK${nc}] " ;;
"")
choice
return 1 ;;
@@ -5779,7 +5841,7 @@ revise() {
revision="y"
gfxpkgs=()
validpkgs=()
reset=(xbootloader="" desktop="" terminal="" custompkgs="" customservices="" cust_bootopts="" REGDOM="" autoroot="" autoxboot="" autohome="" autoswap="" lowlat="" nogsp="" sanity="" partok="" preset="" set_optm="" ask_param="" kill_watchdog="" genoptm="" desk_setup="" devel="" web="" web_pkg="" web_aur="" web_slct="" oomd="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="" gptabort="" nvidiaprop="" nowarning="" hometype="" homeform="" smartpart="" LuksParts="" nvidia_aur="" web_aur_url="")
reset=(xbootloader="" desktop="" terminal="" custompkgs="" customservices="" cust_bootopts="" REGDOM="" autoroot="" autoxboot="" autohome="" autoswap="" lowlat="" nogsp="" sanity="" partok="" preset="" set_optm="" ask_param="" kill_watchdog="" genoptm="" desk_setup="" devel="" web="" web_pkg="" web_aur="" web_slct="" oomd="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="" gptabort="" nvidiaprop="" nowarning="" hometype="" homeform="" smartpart="" LuksParts="" nvidia_aur="" web_aur_url="" session="" alt_session="" session_support="" alt_session_pack="")
export "${reset[@]}"
instl
@@ -6146,16 +6208,17 @@ pkg_collection() {
[[ "${vendor}" != "Virtual Machine" ]] && basepkgs+=(alsa-firmware linux-firmware sof-firmware)
[[ "${terminal}" == "y" ]] && basepkgs+=(gnome-terminal)
[[ "${nvidiaprop}" == "y" ]] && basepkgs+=("${kernel}-headers")
[[ "${session_support}" == "y" ]] && basepkgs+=("${alt_session_pack}")
[[ ! "${desktop}" =~ ^(11|12)$ ]] && basepkgs+=(7zip alsa-plugins alsa-utils bluez bluez-hid2hci bluez-obex bluez-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-alsa pipewire-libcamera pipewire-onnx pipewire-pulse pipewire-zeroconf reflector usb_modeswitch xdg-user-dirs)
case "${desktop}" in
1) # Plasma Desktop:
deskpkgs="${basepkgs[*]} dolphin-plugins konsole plasma plasma-x11-session qt6-multimedia-gstreamer"
deskpkgs="${basepkgs[*]} dolphin-plugins konsole plasma qt6-multimedia-gstreamer"
displaymanager="plasmalogin" ;;
2) # Plasma Lite Desktop:
deskpkgs="${basepkgs[*]} ark bluedevil breeze-gtk colord-kde dolphin-plugins flatpak-kcm freerdp kate kcalc kclock kde-gtk-config kde-inotify-survey kdegraphics-mobipocket kdegraphics-thumbnailers kdenetwork-filesharing kdeplasma-addons kdf kdialog keditbookmarks 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-keyboard plasma-login-manager plasma-nm plasma-pa plasma-systemmonitor plasma-wayland-protocols plasma-x11-session spectacle appmenu-gtk-module arj dosfstools ffmpegthumbs icoutils kvantum libappimage libappindicator lrzip lzop ntfs-3g power-profiles-daemon qrca qt5-xmlpatterns qt6-connectivity qt6-multimedia-gstreamer unarchiver unrar xdg-desktop-portal-gtk"
deskpkgs="${basepkgs[*]} ark bluedevil breeze-gtk colord-kde dolphin-plugins flatpak-kcm freerdp kate kcalc kclock kde-gtk-config kde-inotify-survey kdegraphics-mobipocket kdegraphics-thumbnailers kdenetwork-filesharing kdeplasma-addons kdf kdialog keditbookmarks 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-keyboard plasma-login-manager plasma-nm plasma-pa plasma-systemmonitor plasma-wayland-protocols spectacle appmenu-gtk-module arj dosfstools ffmpegthumbs icoutils kvantum libappimage libappindicator lrzip lzop ntfs-3g power-profiles-daemon qrca qt5-xmlpatterns qt6-connectivity qt6-multimedia-gstreamer unarchiver unrar xdg-desktop-portal-gtk"
displaymanager="plasmalogin" ;;
3) # Gnome Desktop:
@@ -6167,7 +6230,7 @@ pkg_collection() {
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-notifyd xfce4-power-manager xfce4-pulseaudio-plugin xfce4-screensaver xfce4-screenshooter xfce4-taskmanager xfce4-whiskermenu-plugin xfce4-power-manager xiccd"
deskpkgs="${basepkgs[*]} blueman catfish ffmpegthumbnailer gvfs gvfs-afc gvfs-mtp gvfs-smb libgsf libopenraw lightdm-gtk-greeter lightdm-gtk-greeter-settings 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-notifyd xfce4-power-manager xfce4-pulseaudio-plugin xfce4-screensaver xfce4-screenshooter xfce4-taskmanager xfce4-whiskermenu-plugin xfce4-power-manager xiccd"
displaymanager="lightdm" ;;
6) # Cinnamon Desktop:
@@ -6179,15 +6242,15 @@ pkg_collection() {
displaymanager="lightdm" ;;
8) # Budgie Desktop:
deskpkgs="${basepkgs[*]} blueman budgie gnome-user-share lightdm-gtk-greeter nemo network-manager-applet openssh power-profiles-daemon rygel xdg-user-dirs"
deskpkgs="${basepkgs[*]} blueman budgie gnome-user-share lightdm-gtk-greeter lightdm-gtk-greeter-settings nemo network-manager-applet openssh power-profiles-daemon rygel xdg-user-dirs"
displaymanager="lightdm" ;;
9) # Lxqt Desktop:
deskpkgs="${basepkgs[*]} blueman breeze-icons gvfs gvfs-mtp kimageformats libarchive libstatgrab libsysstat lxqt network-manager-applet oxygen-icons python-pyxdg qt6-imageformats qt6-multimedia-gstreamer sddm xscreensaver xsettingsd"
deskpkgs="${basepkgs[*]} blueman breeze-icons gvfs gvfs-mtp kimageformats libarchive libstatgrab libsysstat lxqt network-manager-applet oxygen-icons python-pyxdg qt6-imageformats qt6-multimedia-gstreamer sddm xorg-xrdb xscreensaver xsettingsd"
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 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"
deskpkgs="${basepkgs[*]} atril blueman caja-actions caja-audio-video-properties caja-open-terminal caja-sendto caja-share caja-wallpaper cpio engrampa eom gnome-keyring lightdm-gtk-greeter lightdm-gtk-greeter-settings mate mate-applets mate-calc 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" ;;
11) # Base System:
@@ -6206,13 +6269,17 @@ pkg_collection() {
[[ "${vendor}" == "Virtual Machine" ]] && custarray+=("${vmpkgs}")
[[ "${vendor}" != "Virtual Machine" ]] && custarray+=(linux-firmware)
[[ "${nvidiaprop}" == "y" ]] && custarray+=("${kernel}-headers")
[[ "${greeternmbr}" =~ ^(1|2|3)$ ]] && custarray+=("${greeter}")
[[ "${greeternmbr}" =~ ^(1|2|3|4)$ ]] && custarray+=("${greeter}")
deskpkgs="${custarray[*]}" ;;
13) # Cosmic Desktop:
deskpkgs="${basepkgs[*]} cosmic dconf gnome-keyring gvfs gvfs-dnssd gvfs-nfs gvfs-smb packagekit power-profiles-daemon pulseaudio-alsa"
displaymanager="cosmic-greeter" ;;
14) # Pantheon Desktop:
deskpkgs="${basepkgs[*]} pantheon pantheon-print sound-theme-elementary"
displaymanager="lightdm" ;;
esac
}
###################################################################################################
@@ -7348,16 +7415,7 @@ ${magenta}###${nc}--------------------------------${magenta}[ ${bwhite}Chroot &
main_chroot
if [[ -f /mnt/etc/lightdm/lightdm.conf ]]; then
if [[ "${desktop}" == "7" ]]; then
local stage_prompt="Deepin Greeter Configuration"
if arch-chroot /mnt <<-DEEPIN > "${void}" 2>&1 2> "${log}" ; then
sed -i 's|^#greeter-session=example-gtk-gnome|greeter-session=lightdm-deepin-greeter|g' /etc/lightdm/lightdm.conf || exit
DEEPIN
stage_ok
else
stage_fail
fi
elif [[ "${desktop}" =~ ^(5|8|10)$ ]]; then
if [[ "${desktop}" =~ ^(5|8|10)$ ]]; then
local stage_prompt="GTK Greeter Configuration"
if arch-chroot /mnt <<-GTK > "${void}" 2>&1 2> "${log}" ; then
sed -i 's|^#greeter-session=example-gtk-gnome|greeter-session=lightdm-gtk-greeter|g' /etc/lightdm/lightdm.conf || exit
@@ -7375,6 +7433,24 @@ SLICK
else
stage_fail
fi
elif [[ "${desktop}" == "7" ]]; then
local stage_prompt="Deepin Greeter Configuration"
if arch-chroot /mnt <<-DEEPIN > "${void}" 2>&1 2> "${log}" ; then
sed -i 's|^#greeter-session=example-gtk-gnome|greeter-session=lightdm-deepin-greeter|g' /etc/lightdm/lightdm.conf || exit
DEEPIN
stage_ok
else
stage_fail
fi
elif [[ "${desktop}" == "14" ]]; then
local stage_prompt="Pantheon Greeter Configuration"
if arch-chroot /mnt <<-PANTHEON > "${void}" 2>&1 2> "${log}" ; then
sed -i 's|^#greeter-session=example-gtk-gnome|greeter-session=io.elementary.greeter|g' /etc/lightdm/lightdm.conf || exit
PANTHEON
stage_ok
else
stage_fail
fi
fi
fi
@@ -7445,6 +7521,15 @@ DEEPIN
else
stage_fail
fi
elif [[ "${greeternmbr}" == "4" ]]; then
local stage_prompt="Pantheon Greeter Configuration"
if arch-chroot /mnt <<-PANTHEON > "${void}" 2>&1 2> "${log}" ; then
sed -i 's|^#greeter-session=example-gtk-gnome|greeter-session=io.elementary.greeter|g' /etc/lightdm/lightdm.conf || exit
PANTHEON
stage_ok
else
stage_fail
fi
fi
fi
@@ -7485,7 +7570,7 @@ CUSTOM_SRVC
log="Amelia.log"
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="" vendor="" vendors="" desktop="" terminal="" efi_entr_del="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" 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="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" mkinitcpio_bins="" uki="" ukify="" cng_espmnt="" sep_home="" encr_swap_bootopts="" encr_home_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="" setrescue="" lowlat="" dev="" web="" web_pkg="" web_aur="" web_slct="" printer="" print_pkgs="" shellnmbr="" shell="" shellname="" shellname2="" shell_pkgs="" genoptm="" set_optm="" ask_param="" desk_setup="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="" gptabort="" nvidiaprop="" nowarning="" efiname="" path="" hometype="" homeform="" LuksParts="" nvidia_aur="" web_aur_url="")
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" gfxcount="" gfxcard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vendor="" vendors="" desktop="" terminal="" efi_entr_del="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" 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="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" mkinitcpio_bins="" uki="" ukify="" cng_espmnt="" sep_home="" encr_swap_bootopts="" encr_home_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="" setrescue="" lowlat="" dev="" web="" web_pkg="" web_aur="" web_slct="" printer="" print_pkgs="" shellnmbr="" shell="" shellname="" shellname2="" shell_pkgs="" genoptm="" set_optm="" ask_param="" desk_setup="" irqbalance="" thermald="" rngd="" rtkit="" tlp="" CRYPTPASS="" CRYPTPASS2="" askoptm="" gptslct="" gptok="" gptabort="" nvidiaprop="" nowarning="" efiname="" path="" hometype="" homeform="" LuksParts="" nvidia_aur="" web_aur_url="" session="" alt_session="" session_support="" alt_session_pack="")
export "${vars[@]}"
validpkgs=()
sleep 0.2