labwc + Noctalia Shell (Testbranch, fedora-bootc-Basis)
This commit is contained in:
+9
-1
@@ -6,4 +6,12 @@ dnf5 install -y \
|
||||
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-${FEDORA_VERSION}.noarch.rpm \
|
||||
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-${FEDORA_VERSION}.noarch.rpm
|
||||
|
||||
dnf5 clean all
|
||||
# Terra-Repository (Fyralabs) fuer noctalia-greeter.
|
||||
# Die Shell (Paket `noctalia`, v5) liegt in den offiziellen Fedora-Repos,
|
||||
# der Greeter aktuell NUR in Terra (Stand: Fedora 44).
|
||||
# Siehe https://docs.noctalia.dev/greeter/installation/
|
||||
dnf5 install -y --nogpgcheck \
|
||||
--repofrompath "terra,https://repos.fyralabs.com/terra${FEDORA_VERSION}" \
|
||||
terra-release
|
||||
|
||||
dnf5 clean all
|
||||
|
||||
Executable
+56
@@ -0,0 +1,56 @@
|
||||
#!/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-wlr \
|
||||
xdg-desktop-portal-gtk \
|
||||
pipewire \
|
||||
pipewire-pulseaudio \
|
||||
wireplumber \
|
||||
NetworkManager \
|
||||
foot \
|
||||
wl-clipboard \
|
||||
xdg-user-dirs \
|
||||
upower \
|
||||
power-profiles-daemon \
|
||||
bolt \
|
||||
lxqt-policykit \
|
||||
accountsservice \
|
||||
inter-fonts \
|
||||
jetbrains-mono-fonts \
|
||||
wdisplays \
|
||||
brightnessctl \
|
||||
swaylock
|
||||
|
||||
# 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 \
|
||||
|| 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
|
||||
|
||||
dnf5 clean all
|
||||
@@ -1,18 +1,22 @@
|
||||
#!/usr/bin/bash
|
||||
set -eoux pipefail
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Cleanup of Unwanted Packages
|
||||
# Bereinigung unerwuenschter Pakete (Guard-Layer)
|
||||
###############################################################################
|
||||
echo "Removing Firefox and langpacks..."
|
||||
# Auf fedora-bootc-Basis gibt es kein Plasma/Firefox/Discover mehr.
|
||||
# Das Skript bleibt als Sicherheitsnetz, falls unerwuenschte Pakete
|
||||
# ueber Abhaengigkeiten hereinkommen. Fehlende Pakete sind kein Fehler.
|
||||
echo "Removing unwanted packages (if present)..."
|
||||
dnf5 remove -y \
|
||||
firefox \
|
||||
firefox-langpacks* \
|
||||
firefox-langpacks\* \
|
||||
plasma-discover \
|
||||
plasma-discover-flatpak \
|
||||
plasma-discover-notifier
|
||||
plasma-discover-notifier \
|
||||
sddm \
|
||||
|| true
|
||||
|
||||
rm -f /etc/xdg/autostart/org.kde.discover.notifier.desktop
|
||||
|
||||
dnf5 clean all
|
||||
rm -f /etc/xdg/autostart/org.kde.discover.notifier.desktop || true
|
||||
|
||||
dnf5 clean all
|
||||
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/bash
|
||||
set -eoux pipefail
|
||||
|
||||
###############################################################################
|
||||
# Transaction: Login-Stack (greetd + tuigreet-Fallback + Noctalia-Greeter)
|
||||
###############################################################################
|
||||
# - greetd ist der Display-Manager (leicht, Wayland-nativ).
|
||||
# - noctalia-greeter (aus Terra, siehe 10-repos.sh) ist die Login-UI in
|
||||
# Noctalia-Optik. Braucht ZWINGEND greetd als Unterbau.
|
||||
# - tuigreet bleibt als sparsamer Fallback, falls der grafische Greeter
|
||||
# je streikt (in /etc/greetd/config.toml per Kommentar umschaltbar).
|
||||
###############################################################################
|
||||
echo "Installing login stack (greetd + Noctalia greeter)..."
|
||||
|
||||
# greetd + D-Bus + polkit sind harte Voraussetzungen des Noctalia-Greeters
|
||||
# (https://docs.noctalia.dev/greeter/installation/) und werden hier explizit
|
||||
# installiert statt von der Basis vorausgesetzt.
|
||||
dnf5 install -y \
|
||||
--allowerasing \
|
||||
greetd \
|
||||
greetd-selinux \
|
||||
dbus-daemon \
|
||||
polkit \
|
||||
tuigreet \
|
||||
noctalia-greeter
|
||||
|
||||
dnf5 clean all
|
||||
|
||||
# accounts-daemon: liefert User-Avatare auf dem Login-Screen.
|
||||
systemctl enable accounts-daemon.service
|
||||
|
||||
# System-Setup des Greeters: legt /var/lib/noctalia-greeter/ + greeter.toml
|
||||
# fuer den greetd-Session-User an und gibt die fertige config.toml-Zeile aus.
|
||||
# Pfad laut PACKAGING.md: share/noctalia-greeter/setup_greeter_system.sh
|
||||
if [[ -x /usr/share/noctalia-greeter/setup_greeter_system.sh ]]; then
|
||||
/usr/share/noctalia-greeter/setup_greeter_system.sh || true
|
||||
else
|
||||
echo "WARN: setup_greeter_system.sh nicht gefunden - Greeter-State wird erst beim Boot angelegt"
|
||||
fi
|
||||
|
||||
# Alte Display-Manager explizit aus (zwei DMs = Blackscreen).
|
||||
# Auf fedora-bootc-Basis existieren sie i.d.R. nicht -> Fehler tolerieren.
|
||||
systemctl disable sddm.service gdm.service lightdm.service 2>/dev/null || true
|
||||
systemctl enable greetd.service
|
||||
systemctl set-default graphical.target || true
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#!/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..."
|
||||
|
||||
dnf5 install -y \
|
||||
--allowerasing \
|
||||
noctalia \
|
||||
imagemagick \
|
||||
python3 \
|
||||
git
|
||||
|
||||
dnf5 clean all
|
||||
+6
-8
@@ -2,26 +2,24 @@
|
||||
set -eoux pipefail
|
||||
|
||||
###############################################################################
|
||||
# Transaction 2: Virtualization, Tools & Hardware Helpers
|
||||
# Transaction: Virtualization, Tools & Hardware Helpers
|
||||
# Zusammengefasst für effizientere Paketauflösung.
|
||||
# HINWEIS (labwc-Zweig): plasma-setup und noctalia sind hier raus.
|
||||
# plasma-setup war KDE-spezifisch, noctalia liegt in 22-noctalia.sh.
|
||||
# webkit2gtk bleibt (Bazaar/Flatpak-Store braucht es).
|
||||
###############################################################################
|
||||
echo "Installing Virtualization, Plasma Setup and Hardware Helpers..."
|
||||
echo "Installing Virtualization, Tools and Hardware Helpers..."
|
||||
dnf5 install -y \
|
||||
--allowerasing \
|
||||
--skip-unavailable \
|
||||
distrobox \
|
||||
toolbox \
|
||||
plasma-setup \
|
||||
libva-utils \
|
||||
micro \
|
||||
fuse \
|
||||
fuse-libs \
|
||||
fuse3 \
|
||||
webkit2gtk4.1 \
|
||||
javascriptcoregtk4.1 \
|
||||
noctalia
|
||||
javascriptcoregtk4.1
|
||||
|
||||
dnf5 clean all
|
||||
|
||||
|
||||
|
||||
|
||||
+5
-2
@@ -8,8 +8,11 @@ Scripts are named with a number prefix and run in ascending order during the con
|
||||
|
||||
## Included Scripts
|
||||
|
||||
- **`10-repos.sh`** - RPM Fusion repositories einrichten (frei + nonfree)
|
||||
- **`20-remove-packages.sh`** - Entfernt unerwuenschte Pakete (Firefox, Plasma Discover)
|
||||
- **`10-repos.sh`** - RPM Fusion (frei + nonfree) + Terra-Repo (fuer noctalia-greeter)
|
||||
- **`20-remove-packages.sh`** - Guard-Layer: entfernt unerwuenschte Pakete, falls vorhanden (auf fedora-bootc-Basis meist No-Op)
|
||||
- **`20-desktop-labwc.sh`** - labwc-Compositor, XWayland, kanshi, Portale, Pipewire, Docking-Tools (bolt), PolicyKit, Fonts
|
||||
- **`21-greetd.sh`** - greetd + tuigreet-Fallback + Noctalia-Greeter, SDDM/GDM aus, graphical.target
|
||||
- **`22-noctalia.sh`** - Noctalia Shell v5 aus den Fedora-Repos
|
||||
- **`30-virt.sh`** - Virtualisierungstools, Distrobox, Toolbox, Micro, etc.
|
||||
- **`40-multimedia.sh`** - Mesa Freeworld, Codecs, FFmpeg, GStreamer, Intel-Media-Treiber
|
||||
- **`50-prepare-flatpak-for-bazaar.sh`** - Laedt Flathub-Repo-Definition fuer Bazaar
|
||||
|
||||
Reference in New Issue
Block a user