Implement a new Anaconda spoke that allows users to select their preferred desktop environment (CLI, GNOME, KDE Plasma, Hyprland, or XFCE) during installation.
The spoke:
- Displays radio buttons for five desktop choices with CLI as the default
- Persists the selection to /tmp/fws-desktop for the kickstart %post script
- Supports revisiting the spoke and resuming previous selections
- Includes a GTK UI definition file (glade) with translatable labels
- Integrates as a SoftwareCategory spoke in the Anaconda installer
The implementation leverages Anaconda's runtime spoke discovery mechanism via the airootfs overlay, avoiding the need to rebuild the anaconda package.
- Add kernel copy step in %pre to ensure vmlinuz-linux is available for mkinitcpio
- Refactor xinitrc post-install log detection to use /tmp/fws-post-chroot.log copied by kickstart
- Add success detection based on mkinitcpio and grub-install log markers
- Display success screen and poweroff on successful installation, show debug logs on failure
- Add load_policy and setstatus stub scripts to suppress SELinux-related Anaconda warnings
- Force MBR partition table (--disklabel=msdos) for BIOS boot compatibility
- Create standard mkinitcpio preset to replace archiso-specific configuration
- Automatically inject lvm2 hook when root is on LVM
- Fix GRUB installation to properly extract disk path from lsblk output
- Downgrade version to 0.5.3 (development/testing release)