#!/bin/bash set -euo pipefail source "$(dirname "${BASH_SOURCE[0]}")/../lib/logging.sh" log "Installing XFCE desktop..." sudo pacman -S --noconfirm --needed \ xfce4 xfce4-goodies \ lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings \ xdg-desktop-portal-gtk \ pipewire wireplumber pipewire-alsa pipewire-jack pipewire-pulse \ xfce4-pulseaudio-plugin \ networkmanager network-manager-applet \ bluez bluez-utils blueman \ gvfs gvfs-smb gvfs-mtp \ flatpak log "Enabling services..." # getty@tty1 is the default text-mode login prompt; LightDM replaces it. # '|| true' prevents abort if the unit is already disabled or doesn't exist. sudo systemctl disable getty@tty1.service || true # Disable greetd, which core.sh enables by default for every install. LightDM # is this DE's own display manager, so leaving greetd enabled means two # display managers both race to claim tty1. disable_service greetd.service sudo systemctl enable lightdm.service sudo systemctl enable NetworkManager.service sudo systemctl enable bluetooth.service log "XFCE installation complete. Reboot to start."