#!/usr/bin/bash set -eoux pipefail ############################################################################### # Transaction: labwc Desktop-Basis (Compositor + Wayland-Stack + Docking) # Basiert auf fedora-bootc (kein KDE). Noctalia-Shell und Greeter kommen # in eigenen Layern (21/22), damit sie unabhaengig gecacht werden. ############################################################################### echo "Installing labwc desktop base..." # Kern-Pakete (hart erforderlich) dnf5 install -y \ --allowerasing \ labwc \ xorg-x11-server-Xwayland \ kanshi \ wlr-randr \ swaybg \ swayidle \ wlopm \ xdg-desktop-portal \ xdg-desktop-portal-wlr \ xdg-desktop-portal-gtk \ pipewire \ pipewire-pulseaudio \ wireplumber \ NetworkManager \ alacritty \ wl-clipboard \ xdg-user-dirs \ upower \ power-profiles-daemon \ bolt \ bluez \ cups \ ipp-usb \ system-config-printer \ avahi \ accountsservice \ google-noto-sans-fonts \ google-noto-sans-mono-fonts \ wdisplays \ brightnessctl \ swaylock \ thunar \ thunar-volman \ tumbler \ gvfs # Optionale Pakete (duerfen fehlen -> --skip-unavailable, eigener Aufruf, # damit ein fehlendes Optionales den Kern nicht zu Fall bringt) dnf5 install -y \ --allowerasing \ --skip-unavailable \ ddcutil \ fwupd \ cliphist \ wlsunset \ pipewire-codec-aptx \ || true # User-Services fuer Audio (Presets greifen nicht fuer nachinstallierte # Pakete auf bootc-Basis -> explizit global enablen, Fehler tolerieren) systemctl --global enable pipewire.socket pipewire-pulse.socket wireplumber.service || true # Bluetooth-Daemon (System-Service, kein --global) systemctl enable bluetooth.service # Drucken per Socket-Activation (Fedora-Standard: cups.socket statt Service) systemctl enable cups.socket # mDNS-Discovery (Netzwerkdrucker finden, .local-Aufloesung) systemctl enable avahi-daemon.socket dnf5 clean all