arch-hyperland/install-scripts/sddm.sh

54 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
#=============================================================================
# SDDM Installation and Configuration Script
#=============================================================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/lib.sh"
init_installer
print_header "SDDM Display Manager"
# Check for conflicting display managers
active_dm=$(detect_dm)
if [[ "$active_dm" != "none" && "$active_dm" != "sddm" ]]; then
echo -e "${WARN} Active display manager detected: $active_dm"
echo -e "${NOTE} Please disable it before installing SDDM:"
echo -e " sudo systemctl disable $active_dm.service"
exit 1
fi
# Install SDDM and dependencies
sddm_pkgs=(
sddm
qt5-graphicaleffects
qt5-quickcontrols2
qt5-svg
)
echo -e "${NOTE} Installing SDDM packages..."
install_packages_sequential "${sddm_pkgs[@]}"
# Enable SDDM service
echo -e "\n${NOTE} Enabling SDDM service..."
sudo systemctl enable sddm.service
# Create SDDM configuration directory
sudo mkdir -p /etc/sddm.conf.d
# Configure SDDM for Wayland session
cat << 'EOF' | sudo tee /etc/sddm.conf.d/wayland.conf > /dev/null
[General]
DisplayServer=wayland
GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell
[Wayland]
SessionDir=/usr/share/wayland-sessions
EOF
echo -e "${OK} SDDM installation complete!"
echo -e "${NOTE} SDDM will start on next reboot."