#!/usr/bin/bash set -eoux pipefail ############################################################################### # Transaction: Noctalia Shell v5 (nativer Wayland-Desktop-Shell) ############################################################################### # Paket `noctalia` aus den offiziellen Fedora-Repos (ab F44). # KEIN COPR noetig. Start via labwc-autostart (siehe configs/skel). # Doku: https://docs.noctalia.dev/noctalia/getting-started/installation/ ############################################################################### echo "Installing Noctalia Shell v5..." # Versionsdynamik: Wallpaper-Pakete heissen f-backgrounds*. # Bei Basis-Wechsel (z.B. F44 -> F45 im Containerfile) kommen automatisch # die neuen Motive mit. Bricht das Schema je, knallt der Build laut # (kein stiller leerer Picker). FEDORA_VERSION="$(rpm -E %fedora)" # Nur das Paket selbst: v5 ist nativ (C++/OpenGL ES), Bildformate und # Theming sind einkompiliert bzw. kommen als RPM-Abhaengigkeiten mit. # ImageMagick/Python/git waren v4-Bedarf und entfallen. # # Theming-Unterbau fuer die aktivierten Templates (siehe # configs/skel/.config/noctalia/templates.toml): # - flatpak: fehlt in der fedora-bootc-Basis, wird aber vom # Flatpak-Preinstall-Layer/Service (50-xxx, Bazaar/Brave) benoetigt # - adw-gtk3-theme: GTK-Theme, das Noctalias gtk-Hook umfaerbt (inkl. -dark). # HINWEIS: Paket heisst -theme, nicht -gtk3! # - dconf + Schemas: damit der Hook gtk-theme/color-scheme setzen kann. # (nwg-look gibt es nicht in Fedora (nur COPR) und wird nicht gebraucht - # der Hook setzt das Theme selbst.) dnf5 install -y \ --allowerasing \ noctalia \ flatpak \ adw-gtk3-theme \ dconf \ gsettings-desktop-schemas \ f${FEDORA_VERSION}-backgrounds \ fedora-workstation-backgrounds # Flacher Wallpaper-Pool fuer Noctalias Picker (der ist NICHT rekursiv und # sieht Unterordner unter /usr/share/backgrounds nicht). Symlinks statt # Kopien: null Mehrbytes im Image. Deterministisch benannt, vollstaendig. mkdir -p /usr/share/noctalia-wallpapers i=0 while IFS= read -r img; do i=$((i + 1)) ext="${img##*.}" ln -sf "$img" "/usr/share/noctalia-wallpapers/fluffy-pool-$(printf '%02d' "$i").${ext}" done < <(find /usr/share/backgrounds -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \) | sort) if [ "$i" -lt 1 ]; then echo "FEHLER: keine Wallpaper unter /usr/share/backgrounds gefunden" exit 1 fi echo "Wallpaper-Pool: $i Motive" ls /usr/share/noctalia-wallpapers dnf5 clean all