fixed several configs and missing packages, added plymouth

This commit is contained in:
humocs-man
2026-09-27 21:41:07 +02:00
parent 2afe810d73
commit 7b7789fbfa
17 changed files with 204 additions and 29 deletions
+14
View File
@@ -73,6 +73,14 @@ RUN --mount=type=bind,from=build-ctx,source=/build/22-noctalia.sh,target=/tmp/22
--mount=type=tmpfs,dst=/tmp \
bash /tmp/22-noctalia.sh
# LAYER 2e: Plymouth Bootsplash (Text-Theme + Initramfs-Rebuild)
RUN --mount=type=bind,from=build-ctx,source=/build/23-plymouth.sh,target=/tmp/23-plymouth.sh \
--mount=type=bind,from=build-ctx,source=/build/plymouth-theme,target=/tmp/plymouth-theme \
--mount=type=cache,dst=/var/cache \
--mount=type=cache,dst=/var/log \
--mount=type=tmpfs,dst=/tmp \
bash /tmp/23-plymouth.sh
# LAYER 3: Virtualisierung & Tools (Großer Download - stark gecacht)
RUN --mount=type=bind,from=build-ctx,source=/build/30-virt.sh,target=/tmp/30-virt.sh \
--mount=type=cache,dst=/var/cache \
@@ -116,6 +124,9 @@ COPY configs/bootc-timer-override.conf /usr/lib/systemd/system/bootc-fetch-apply
COPY configs/bootc-override.conf /usr/lib/systemd/system/bootc-fetch-apply-updates.service.d/override.conf
COPY configs/remount-fs-ostree-skip.conf /usr/lib/systemd/system/systemd-remount-fs.service.d/skip-on-ostree.conf
# 2b. Kernel-Args (Bootsplash: rhgb quiet)
COPY configs/kargs-plymouth.toml /usr/lib/bootc/kargs.d/plymouth.toml
# 3. Kopiere die Session-Helfer und Desktop-Defaults
COPY --chmod=755 scripts/notify-bootc-user.sh /usr/bin/
COPY --chmod=755 scripts/kanshi-autoconfig /usr/bin/kanshi-autoconfig
@@ -127,6 +138,9 @@ COPY configs/skel/ /etc/skel/
# Wayland-Session fuer Display-Manager (Greeter-Auswahl)
COPY configs/wayland-sessions/labwc.desktop /usr/share/wayland-sessions/labwc.desktop
# Fontconfig-Defaults (Noto statt DejaVu)
COPY configs/fontconfig/60-fluffy-noto.conf /usr/share/fontconfig/conf.d/60-fluffy-noto.conf
# greetd-Konfiguration (Noctalia-Greeter + tuigreet-Fallback dokumentiert)
COPY configs/greetd/config.toml /etc/greetd/config.toml
+30 -4
View File
@@ -39,13 +39,30 @@ dnf5 install -y \
accountsservice \
google-noto-sans-fonts \
google-noto-sans-mono-fonts \
google-noto-color-emoji-fonts \
glibc-langpack-de \
adwaita-icon-theme \
adwaita-cursor-theme \
gnome-keyring \
libsecret \
thunar \
thunar-volman \
thunar-archive-plugin \
file-roller \
tumbler \
gvfs \
firewalld \
firewall-config \
nss-mdns \
wdisplays \
brightnessctl \
swaylock \
thunar \
thunar-volman \
tumbler \
gvfs
playerctl \
evince \
loupe \
gnome-text-editor \
seahorse \
cups-browsed
# Optionale Pakete (duerfen fehlen -> --skip-unavailable, eigener Aufruf,
# damit ein fehlendes Optionales den Kern nicht zu Fall bringt)
@@ -66,10 +83,19 @@ systemctl --global enable pipewire.socket pipewire-pulse.socket wireplumber.serv
# Bluetooth-Daemon (System-Service, kein --global)
systemctl enable bluetooth.service
# Thunderbolt-Dock-Autorisierung (ohne boltd bleibt das Dock stumm)
systemctl enable bolt.service
# Drucken per Socket-Activation (Fedora-Standard: cups.socket statt Service)
systemctl enable cups.socket
# Netzwerkdrucker automatisch als Warteschlangen anlegen
systemctl enable cups-browsed.service
# mDNS-Discovery (Netzwerkdrucker finden, .local-Aufloesung)
systemctl enable avahi-daemon.socket
# Firewall (Laptop!) per Default an
systemctl enable firewalld.service
dnf5 clean all
+8 -1
View File
@@ -22,10 +22,17 @@ dnf5 install -y \
dbus-daemon \
polkit \
tuigreet \
noctalia-greeter
noctalia-greeter \
fprintd
dnf5 clean all
# Fingerprint (Framework u.a.): System-Auth per authselect erweitern, damit
# sudo/Polkit/login-Pfade Finger anbieten (nach fprintd-enroll auf Hardware).
# Greeter-PAM (/etc/pam.d/greetd) bewusst NICHT angefasst: Feinschliff erst
# auf echter Hardware mit Reader testbar, kein VM-Test moeglich.
authselect enable-feature with-fingerprint || echo "WARN: with-fingerprint nicht aktivierbar - auf Hardware pruefen"
# accounts-daemon: liefert User-Avatare auf dem Login-Screen.
systemctl enable accounts-daemon.service
+7 -11
View File
@@ -39,25 +39,21 @@ dnf5 install -y \
f${FEDORA_VERSION}-backgrounds \
fedora-workstation-backgrounds
# Standard-Wallpaper fuer ~/Pictures neuer Benutzer (Noctalias Picker zeigt
# das XDG-Bilderverzeichnis; ohne Inhalt bleibt er leer). Fedora-eigene
# Motive (Defaults aller Desktops + Supplemental-Pool, offen lizenziert),
# deterministisch umbenannt. Vollauswahl bleibt zusaetzlich unter
# /usr/share/backgrounds (Picker-Verzeichnis dorthin umstellbar).
mkdir -p /etc/skel/Pictures
# 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))
if [ "$i" -gt 12 ]; then
break
fi
ext="${img##*.}"
cp "$img" "/etc/skel/Pictures/fluffy-wallpaper-${i}.${ext}"
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
ls -l /etc/skel/Pictures
echo "Wallpaper-Pool: $i Motive"
ls /usr/share/noctalia-wallpapers
dnf5 clean all
+31
View File
@@ -0,0 +1,31 @@
#!/usr/bin/bash
set -eoux pipefail
###############################################################################
# Transaction: Plymouth Bootsplash (Text-Theme "fluffy-pancake")
###############################################################################
# - Eigenes Theme aus build/plymouth-theme/ installieren, als Default setzen.
# - Initramfs neu bauen (Plymouth-Modul muss rein, sonst kein Early-Splash).
# no-hostonly = laeuft auf jeder Hardware (VM + Laptop).
# Kernel aus dem IMAGE (/usr/lib/modules), NICHT uname -r (Host-Kernel!).
###############################################################################
echo "Installing Plymouth splash (fluffy-pancake)..."
dnf5 install -y \
--allowerasing \
plymouth \
plymouth-system-theme
mkdir -p /usr/share/plymouth/themes/fluffy
cp /tmp/plymouth-theme/fluffy.plymouth /tmp/plymouth-theme/fluffy.script \
/usr/share/plymouth/themes/fluffy/
plymouth-set-default-theme fluffy
for kdir in /usr/lib/modules/*; do
kver="$(basename "${kdir}")"
dracut --force --no-hostonly --kver "${kver}" "${kdir}/initramfs.img"
done
systemctl enable plymouth-start.service || true
dnf5 clean all
+8
View File
@@ -0,0 +1,8 @@
[Plymouth Theme]
Name=fluffy-pancake
Description=fluffy-pancake text splash
ModuleName=script
[script]
ImageDir=/usr/share/plymouth/themes/fluffy
ScriptFile=/usr/share/plymouth/themes/fluffy/fluffy.script
+28
View File
@@ -0,0 +1,28 @@
# fluffy-pancake Plymouth-Theme (script-Plugin).
# Dunkler Hintergrund (Noctalia-nah), zentrierter Schriftzug, Statuszeile.
# Plymouth ruft message_callback bei Boot-Meldungen und boot_progress_callback
# waehrenddessen; quit_callback beim Uebergang zum Login.
Window.SetBackgroundTopColor (0.10, 0.11, 0.15);
Window.SetBackgroundBottomColor (0.10, 0.11, 0.15);
title_image = Message ("fluffy-pancake");
title_sprite = Sprite (title_image);
title_sprite.SetPosition (Window.GetX () / 2 - title_image.GetWidth () / 2,
Window.GetY () / 2 - title_image.GetHeight () / 2, 10);
status_image = Image.Text ("", 1, 1, 1);
status_sprite = Sprite (status_image);
fun message_callback (text) {
status_image = Image.Text (text, 1, 1, 1);
status_sprite.SetImage (status_image);
status_sprite.SetPosition (Window.GetX () / 2 - status_image.GetWidth () / 2,
Window.GetY () * 3 / 4, 10);
}
fun boot_progress_callback (duration, progress) {
}
fun quit_callback () {
}
+6 -1
View File
@@ -9,7 +9,12 @@ Type=oneshot
ExecStartPre=/usr/bin/flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# Bazaar + Brave + GTK-Theme-Runtimes, damit Flatpak-GTK3-Apps dem
# Noctalia-Theme (adw-gtk3/-dark) folgen koennen. Laeuft einmalig.
ExecStart=/usr/bin/flatpak install -y flathub io.github.kolunmi.Bazaar com.brave.Browser org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark
ExecStart=/usr/bin/flatpak install -y flathub io.github.kolunmi.Bazaar com.brave.Browser org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark org.kde.KStyle.Adwaita
# Noctalia-CSS fuer ALLE Flatpaks lesbar machen (read-only, systemweit):
# volle Palette statt nur Hell/Dunkel - gilt auch fuer spaeter per Bazaar
# installierte Apps (kein Override pro App noetig, Neustart genuegt).
# Chromium/Brave ignoriert GTK-CSS ohnehin (nur Hell/Dunkel per Portal).
ExecStart=/usr/bin/flatpak override --system --filesystem=xdg-config/gtk-3.0:ro --filesystem=xdg-config/gtk-4.0:ro
ExecStartPost=/usr/bin/touch /var/lib/flatpak/.preinstall-done
ExecStartPost=/usr/bin/systemctl disable flatpak-preinstall.service
RemainAfterExit=yes
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- fluffy-pancake: Noto als Default (statt DejaVu) für stimmiges
Gesamtbild mit Noctalia/Adwaita. Emoji kommen aus
google-noto-color-emoji-fonts (eigene fontconfig-Regel des Pakets). -->
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer><family>Noto Sans</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Noto Sans Mono</family></prefer>
</alias>
</fontconfig>
+4
View File
@@ -0,0 +1,4 @@
# Bootsplash aktivieren (Plymouth-Theme "fluffy-pancake" liegt im Image).
# quiet: Boot-Log ausblenden (per Esc im Splash einblendbar).
# bootc wertet kargs.d bei Installation und Upgrade aus.
kargs = ["rhgb", "quiet"]
+3
View File
@@ -1,5 +1,8 @@
# labwc-Umgebung – fluffy-pancake (Noctalia-Zweig)
# Wird von labwc beim Start eingelesen (~/.config/labwc/environment).
# Sprache bewusst hier (nicht nur Installer-locale.conf): gilt
# deterministisch fuer jede Session.
LANG=de_DE.UTF-8
XKB_DEFAULT_LAYOUT=de
XKB_DEFAULT_VARIANT=nodeadkeys
QT_QPA_PLATFORM=wayland
+29
View File
@@ -38,6 +38,35 @@
<keybind key="W-l">
<action name="Execute" command="noctalia msg session lock" />
</keybind>
<!-- Medien-Tasten (Laptop): PipeWire-Mixer, Helligkeit, Player.
Noctalia-OSDs reagieren von selbst auf die Aenderungen. -->
<keybind key="XF86AudioRaiseVolume">
<action name="Execute" command="wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" />
</keybind>
<keybind key="XF86AudioLowerVolume">
<action name="Execute" command="wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" />
</keybind>
<keybind key="XF86AudioMute">
<action name="Execute" command="wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" />
</keybind>
<keybind key="XF86AudioMicMute">
<action name="Execute" command="wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" />
</keybind>
<keybind key="XF86MonBrightnessUp">
<action name="Execute" command="brightnessctl set 5%+" />
</keybind>
<keybind key="XF86MonBrightnessDown">
<action name="Execute" command="brightnessctl set 5%-" />
</keybind>
<keybind key="XF86AudioPlay">
<action name="Execute" command="playerctl play-pause" />
</keybind>
<keybind key="XF86AudioNext">
<action name="Execute" command="playerctl next" />
</keybind>
<keybind key="XF86AudioPrev">
<action name="Execute" command="playerctl previous" />
</keybind>
<!-- Fenster schliessen -->
<keybind key="A-F4">
<action name="Close" />
+4
View File
@@ -1,3 +1,7 @@
# Standard-Anwendungen – fluffy-pancake (Noctalia-Zweig)
[Default Applications]
inode/directory=thunar.desktop
text/plain=org.gnome.TextEditor.desktop
application/pdf=org.gnome.Evince.desktop
image/png=org.gnome.Loupe.desktop
image/jpeg=org.gnome.Loupe.desktop
+4
View File
@@ -5,3 +5,7 @@
# GUI-Aenderung (Settings -> Security) landet in settings.toml und gewinnt.
[shell]
polkit_agent = true
# UI-Sprache fest auf Deutsch (Katalog de.json ist gebuendelt).
# Auto-Detect wuerde bei fehlender Session-Locale auf Englisch fallen.
# GUI-Aenderung gewinnt ueber dieser Datei.
lang = "de"
@@ -13,3 +13,8 @@
[theme.templates]
enable_builtin_templates = true
builtin_ids = ["alacritty", "gtk3", "gtk4", "labwc"]
# labwc nach jedem Theme-Resolve live neu laden (Deko + Root-Menue),
# sonst bleibt die alte Optik bis zum Relogin stehen.
[hooks]
colors_changed = "labwc --reconfigure"
@@ -0,0 +1,7 @@
# Noctalia Wallpaper-Defaults – fluffy-pancake (Noctalia-Zweig)
# Picker zeigt den flachen System-Pool (alle Fedora-Motive inkl. Extras als
# Symlinks, da der Picker keine Unterordner sieht). Eigene Bilder: in der
# GUI (Wallpaper-Panel) auf ~/Bilder umstellen oder hier eintragen.
# GUI-Aenderung landet in settings.toml und gewinnt ueber dieser Datei.
[wallpaper]
directory = "/usr/share/noctalia-wallpapers"
+1 -12
View File
@@ -16,6 +16,7 @@ TARGETS=(
".config/alacritty/themes/noctalia.toml"
".config/noctalia/templates.toml"
".config/noctalia/shell.toml"
".config/noctalia/wallpaper.toml"
".config/mimeapps.list"
)
@@ -36,15 +37,3 @@ if [[ ! -e "${HOME}/.config/kanshi/config" ]]; then
echo "Keine kanshi-Config gefunden. Erzeugen mit:"
echo " kanshi-autoconfig --apply (schreibt ~/.config/kanshi/config)"
fi
# Wallpaper-Grundstock (Dateinamen unbekannt -> Glob statt Liste)
if [[ -d "${SKEL}/Pictures" ]]; then
mkdir -p "${HOME}/Pictures"
for pic in "${SKEL}"/Pictures/*; do
[[ -e "${pic}" ]] || continue
if [[ ! -e "${HOME}/Pictures/$(basename "${pic}")" ]]; then
cp -n "${pic}" "${HOME}/Pictures/"
echo "angelegt: ${HOME}/Pictures/$(basename "${pic}")"
fi
done
fi