From dd26a367ac298f52aba1153ca126d332f8359ad8 Mon Sep 17 00:00:00 2001 From: humocs-man <251756307+humocs-man@users.noreply.github.com> Date: Wed, 30 Sep 2026 19:09:49 +0200 Subject: [PATCH] fixed configs and changed terminal to kitty --- Containerfile | 1 + build/20-desktop-labwc.sh | 3 +- build/30-virt.sh | 7 +-- build/50-prepare-flatpak-for-bazaar.sh | 5 +- build/plymouth-theme/fluffy.script | 59 +++++++++++++------ configs/flatpak-preinstall.service | 11 +++- configs/skel/.config/alacritty/alacritty.toml | 11 ---- .../.config/alacritty/themes/noctalia.toml | 2 - configs/skel/.config/kanshi/config.template | 5 +- configs/skel/.config/kitty/kitty.conf | 7 +++ .../skel/.config/kitty/themes/noctalia.conf | 2 + configs/skel/.config/labwc/environment | 2 +- configs/skel/.config/labwc/menu.xml | 4 +- configs/skel/.config/labwc/rc.xml | 2 +- configs/skel/.config/noctalia/templates.toml | 6 +- scripts/seed-labwc-skel.sh | 4 +- 16 files changed, 81 insertions(+), 50 deletions(-) delete mode 100644 configs/skel/.config/alacritty/alacritty.toml delete mode 100644 configs/skel/.config/alacritty/themes/noctalia.toml create mode 100644 configs/skel/.config/kitty/kitty.conf create mode 100644 configs/skel/.config/kitty/themes/noctalia.conf diff --git a/Containerfile b/Containerfile index 8e93e48..0971a2a 100644 --- a/Containerfile +++ b/Containerfile @@ -157,6 +157,7 @@ COPY configs/tmpfiles/noctalia-greeter-seed.conf /usr/lib/tmpfiles.d/noctalia-gr RUN set -u; \ id greeter >/dev/null || { echo "FEHLER: Service-User greeter fehlt (21-greetd.sh pruefen)"; exit 1; }; \ grep -q 'pam_gnome_keyring\.so' /etc/pam.d/greetd || { echo "FEHLER: Keyring-PAM in /etc/pam.d/greetd fehlt"; exit 1; }; \ + test -f /usr/lib64/security/pam_gnome_keyring.so || { echo "FEHLER: pam_gnome_keyring.so fehlt (Paket gnome-keyring-pam?)"; exit 1; }; \ wrapper="$(command -v noctalia-greeter-session || true)"; \ echo "Gefundener Wrapper: ${wrapper}"; \ test -n "${wrapper}" || { echo "FEHLER: noctalia-greeter-session nicht installiert (Terra-Repo/includepkgs pruefen)"; exit 1; }; \ diff --git a/build/20-desktop-labwc.sh b/build/20-desktop-labwc.sh index ff1535f..f8f130e 100755 --- a/build/20-desktop-labwc.sh +++ b/build/20-desktop-labwc.sh @@ -23,7 +23,7 @@ dnf5 install -y \ pipewire-pulseaudio \ wireplumber \ NetworkManager \ - alacritty \ + kitty \ wl-clipboard \ xdg-user-dirs \ libnotify \ @@ -43,6 +43,7 @@ dnf5 install -y \ adwaita-icon-theme \ adwaita-cursor-theme \ gnome-keyring \ + gnome-keyring-pam \ libsecret \ thunar \ thunar-volman \ diff --git a/build/30-virt.sh b/build/30-virt.sh index 5027f13..7a5d8f4 100755 --- a/build/30-virt.sh +++ b/build/30-virt.sh @@ -6,7 +6,8 @@ set -eoux pipefail # 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). +# webkit2gtk/javascriptcore sind ebenfalls raus: Bazaar laeuft als Flatpak +# und bundelt WebKit selbst; nativen Verbraucher gibt es im Image keinen. ############################################################################### echo "Installing Virtualization, Tools and Hardware Helpers..." dnf5 install -y \ @@ -18,8 +19,6 @@ dnf5 install -y \ micro \ fuse \ fuse-libs \ - fuse3 \ - webkit2gtk4.1 \ - javascriptcoregtk4.1 + fuse3 dnf5 clean all diff --git a/build/50-prepare-flatpak-for-bazaar.sh b/build/50-prepare-flatpak-for-bazaar.sh index 3674cd4..1885cc6 100755 --- a/build/50-prepare-flatpak-for-bazaar.sh +++ b/build/50-prepare-flatpak-for-bazaar.sh @@ -4,5 +4,6 @@ set -oue pipefail echo "Downloading Flathub repository definition..." mkdir -p /usr/share/flatpak/remotes.d/ curl -f --retry 3 --retry-delay 5 -o /usr/share/flatpak/remotes.d/flathub.flatpakrepo https://dl.flathub.org/repo/flathub.flatpakrepo -echo "Configuring Flatpak system-wide extra languages..." -flatpak config --set extra-languages "de" \ No newline at end of file +# HINWEIS: `flatpak config --set extra-languages` steht bewusst NICHT hier: +# Es schreibt nach /var (verworfen beim Deployment) und laeuft stattdessen +# im flatpak-preinstall.service beim Erstboot (dort ist /var live). \ No newline at end of file diff --git a/build/plymouth-theme/fluffy.script b/build/plymouth-theme/fluffy.script index 1db2450..0fcb490 100644 --- a/build/plymouth-theme/fluffy.script +++ b/build/plymouth-theme/fluffy.script @@ -1,28 +1,51 @@ # 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. +# API-Stand: verifiziert gegen funktionierende Referenz-Themes +# (nur Image.Text, Sprite/SetPosition/SetImage/SetOpacity, +# Window.GetWidth/GetHeight/SetBackground*, Plymouth.Set*Function). +# Dunkler Hintergrund (Noctalia-nah), zentrierter Schriftzug, +# Boot-Meldungen unten links. -Window.SetBackgroundTopColor (0.10, 0.11, 0.15); -Window.SetBackgroundBottomColor (0.10, 0.11, 0.15); +Window.SetBackgroundTopColor (0.101, 0.105, 0.149); +Window.SetBackgroundBottomColor (0.101, 0.105, 0.149); -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); +title.sprite = Sprite (); +status.sprite = Sprite (); -status_image = Image.Text ("", 1, 1, 1); -status_sprite = Sprite (status_image); +global.layout_width = 0; +global.layout_height = 0; -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 layout () { + global.layout_width = Window.GetWidth (); + global.layout_height = Window.GetHeight (); + + title.image = Image.Text ("fluffy-pancake", 1, 1, 1); + title.sprite.SetImage (title.image); + title.sprite.SetPosition (global.layout_width / 2 - title.image.GetWidth () / 2, + global.layout_height / 2 - title.image.GetHeight () / 2, 10); + status.sprite.SetPosition (10, global.layout_height - 40, 10000); } -fun boot_progress_callback (duration, progress) { +fun refresh_callback () { + # Displays koennen spaeter dazukommen (z.B. Docking-Monitor) - + # dann neu zentrieren. + if (Window.GetWidth () != global.layout_width || Window.GetHeight () != global.layout_height) { + layout (); + } } -fun quit_callback () { +Plymouth.SetRefreshFunction (refresh_callback); + +fun display_message_callback (text) { + message = Image.Text (text, 1, 1, 1); + status.sprite.SetImage (message); + status.sprite.SetOpacity (1); } + +fun hide_message_callback (text) { + status.sprite.SetOpacity (0); +} + +Plymouth.SetDisplayMessageFunction (display_message_callback); +Plymouth.SetHideMessageFunction (hide_message_callback); + +layout (); diff --git a/configs/flatpak-preinstall.service b/configs/flatpak-preinstall.service index 53d4b83..88151f2 100644 --- a/configs/flatpak-preinstall.service +++ b/configs/flatpak-preinstall.service @@ -7,9 +7,18 @@ ConditionPathExists=!/var/lib/flatpak/.preinstall-done [Service] Type=oneshot ExecStartPre=/usr/bin/flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo +# Systemweite Extra-Sprachen (hier, nicht im Build-Skript: schreibt nach +# /var, das es nur zur Laufzeit gibt). VOR install, damit Locale- +# Extensions gleich mitkommen. +ExecStart=/usr/bin/flatpak config --set extra-languages "de" # 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 org.kde.KStyle.Adwaita +# HINWEIS: org.kde.KStyle.Adwaita steht bewusst NICHT hier - es existiert +# in mehreren Branches (6.x), die sich non-interaktiv nicht aufloesen +# lassen ("No ref chosen", Service wuerde ewig failen). Bei Bedarf (erste +# Qt-Flatpak-App) interaktiv nachinstallieren, dort darf flatpak fragen: +# flatpak install flathub org.kde.KStyle.Adwaita +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 # 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). diff --git a/configs/skel/.config/alacritty/alacritty.toml b/configs/skel/.config/alacritty/alacritty.toml deleted file mode 100644 index b1e8648..0000000 --- a/configs/skel/.config/alacritty/alacritty.toml +++ /dev/null @@ -1,11 +0,0 @@ -# Alacritty – fluffy-pancake (Noctalia-Zweig) -# Das Noctalia-Template "alacritty" schreibt themes/noctalia.toml -# (Platzhalter liegt bei, Import zeigt fest darauf). -[general] -import = [ - "~/.config/alacritty/themes/noctalia.toml", -] - -[font] -normal = { family = "Noto Sans Mono", style = "Regular" } -size = 10.0 diff --git a/configs/skel/.config/alacritty/themes/noctalia.toml b/configs/skel/.config/alacritty/themes/noctalia.toml deleted file mode 100644 index e7584a4..0000000 --- a/configs/skel/.config/alacritty/themes/noctalia.toml +++ /dev/null @@ -1,2 +0,0 @@ -# Platzhalter, verwaltet vom Noctalia-Template "alacritty". -# Wird beim ersten Theme-Resolve mit der Palette befuellt. diff --git a/configs/skel/.config/kanshi/config.template b/configs/skel/.config/kanshi/config.template index 14da924..09d8187 100644 --- a/configs/skel/.config/kanshi/config.template +++ b/configs/skel/.config/kanshi/config.template @@ -1,6 +1,7 @@ # kanshi-Template – fluffy-pancake (Noctalia-Zweig) -# Diese Datei liegt als Vorlage in /etc/skel und wird beim Anlegen neuer -# Benutzer nach ~/.config/kanshi/config kopiert. +# Reine Doku- und Beispiel-Datei (liegt in /etc/skel). Die echte, +# wirksame Config ~/.config/kanshi/config schreibt NUR kanshi-autoconfig +# (--apply) - dieses Template wird nie dorthin kopiert. # # EMPFOHLEN: nichts von Hand raten, sondern generieren lassen: # kanshi-autoconfig --print # zeigt erkannte Outputs + Vorschlag diff --git a/configs/skel/.config/kitty/kitty.conf b/configs/skel/.config/kitty/kitty.conf new file mode 100644 index 0000000..8a68576 --- /dev/null +++ b/configs/skel/.config/kitty/kitty.conf @@ -0,0 +1,7 @@ +# Kitty – fluffy-pancake (Noctalia-Zweig) +# Das Noctalia-Template "kitty" schreibt themes/noctalia.conf +# (Platzhalter liegt bei, Live-Reload per USR1 macht der Hook). +include themes/noctalia.conf + +font_family Noto Sans Mono +font_size 10.0 diff --git a/configs/skel/.config/kitty/themes/noctalia.conf b/configs/skel/.config/kitty/themes/noctalia.conf new file mode 100644 index 0000000..030d716 --- /dev/null +++ b/configs/skel/.config/kitty/themes/noctalia.conf @@ -0,0 +1,2 @@ +# Platzhalter, verwaltet vom Noctalia-Template "kitty". +# Wird beim ersten Theme-Resolve mit der Palette befuellt. diff --git a/configs/skel/.config/labwc/environment b/configs/skel/.config/labwc/environment index 1579792..1506e8e 100644 --- a/configs/skel/.config/labwc/environment +++ b/configs/skel/.config/labwc/environment @@ -10,4 +10,4 @@ GDK_BACKEND=wayland XDG_CURRENT_DESKTOP=labwc XDG_SESSION_TYPE=wayland MOZ_ENABLE_WAYLAND=1 -TERMINAL=alacritty +TERMINAL=kitty diff --git a/configs/skel/.config/labwc/menu.xml b/configs/skel/.config/labwc/menu.xml index bd0ace3..d9a1ff1 100644 --- a/configs/skel/.config/labwc/menu.xml +++ b/configs/skel/.config/labwc/menu.xml @@ -2,8 +2,8 @@ - - + + diff --git a/configs/skel/.config/labwc/rc.xml b/configs/skel/.config/labwc/rc.xml index 2f959fa..7237d9b 100644 --- a/configs/skel/.config/labwc/rc.xml +++ b/configs/skel/.config/labwc/rc.xml @@ -16,7 +16,7 @@ - + diff --git a/configs/skel/.config/noctalia/templates.toml b/configs/skel/.config/noctalia/templates.toml index 9454afa..e54d2a3 100644 --- a/configs/skel/.config/noctalia/templates.toml +++ b/configs/skel/.config/noctalia/templates.toml @@ -2,8 +2,8 @@ # Schaltet App-Theming an: Terminal, GTK3/4 und labwc-Deko folgen der # Noctalia-Palette (IDs aus dem Built-in-Katalog: # `noctalia theme --list-templates`). -# - alacritty: schreibt ~/.config/alacritty/themes/noctalia.toml -# (braucht den import in alacritty.toml + Platzhalter, beides in /etc/skel) +# - kitty: schreibt ~/.config/kitty/themes/noctalia.conf +# (braucht das include in kitty.conf + Platzhalter, beides in /etc/skel) # - gtk3/gtk4: schreibt noctalia.css + haengt den Import in gtk.css ein, # setzt adw-gtk3(-dark) und color-scheme (braucht Paket adw-gtk3) # - labwc: schreibt das openbox-Theme + setzt noctalia in rc.xml @@ -12,7 +12,7 @@ # sind absichtlich aus (keine Qt-Apps installiert). [theme.templates] enable_builtin_templates = true -builtin_ids = ["alacritty", "gtk3", "gtk4", "labwc"] +builtin_ids = ["kitty", "gtk3", "gtk4", "labwc"] # labwc nach jedem Theme-Resolve live neu laden (Deko + Root-Menue), # sonst bleibt die alte Optik bis zum Relogin stehen. diff --git a/scripts/seed-labwc-skel.sh b/scripts/seed-labwc-skel.sh index 423724d..8b9b02a 100755 --- a/scripts/seed-labwc-skel.sh +++ b/scripts/seed-labwc-skel.sh @@ -12,8 +12,8 @@ TARGETS=( ".config/labwc/rc.xml" ".config/labwc/menu.xml" ".config/kanshi/config.template" - ".config/alacritty/alacritty.toml" - ".config/alacritty/themes/noctalia.toml" + ".config/kitty/kitty.conf" + ".config/kitty/themes/noctalia.conf" ".config/noctalia/templates.toml" ".config/noctalia/shell.toml" ".config/noctalia/wallpaper.toml"