fixed several configs and missing packages, added plymouth
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 () {
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
@@ -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"]
|
||||
@@ -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
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user