From a1e3291a0c500b9cc1a24ca6100dd74ef6fd676c Mon Sep 17 00:00:00 2001 From: Breadway Date: Tue, 16 Jun 2026 16:59:03 +0800 Subject: [PATCH] BOS: bake the bread-theme CLI and generate the shared stylesheet at login - Add bread-theme to the binaries baked into /etc/skel from bakery state. - Run `bread-theme generate` first in the Hyprland autostart so the shared GUI stylesheet ($XDG_RUNTIME_DIR/bread/theme.css) exists before breadbar / breadbox / bos-settings paint (they also live-reload it on change). --- build-local.sh | 2 +- iso/airootfs/etc/skel/.config/hypr/hyprland.lua | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/build-local.sh b/build-local.sh index 3015be0..23f2fea 100755 --- a/build-local.sh +++ b/build-local.sh @@ -41,7 +41,7 @@ grep airootfs_image_tool_options "$STAGE/profiledef.sh" # created from skel (the live user and the installed user) then gets the same # versions `bakery list` reports here, fully offline. Copied at build time so the # binaries never bloat the git repo and always track the current bakery state. -BREAD_BINS=(bakery bread breadd breadman breadbar breadbox breadbox-sync breadcrumbs breadpad) +BREAD_BINS=(bakery bread breadd breadman breadbar breadbox breadbox-sync breadcrumbs breadpad bread-theme) LAPTOP_HOME="${LAPTOP_HOME:-$(getent passwd "${SUDO_USER:-$USER}" | cut -d: -f6)}" BAKERY_BIN="$LAPTOP_HOME/.local/bin" BAKERY_STATE="$LAPTOP_HOME/.local/state/bakery" diff --git a/iso/airootfs/etc/skel/.config/hypr/hyprland.lua b/iso/airootfs/etc/skel/.config/hypr/hyprland.lua index 8485e0c..c7ce981 100644 --- a/iso/airootfs/etc/skel/.config/hypr/hyprland.lua +++ b/iso/airootfs/etc/skel/.config/hypr/hyprland.lua @@ -188,6 +188,9 @@ hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), -- --------------------------------------------------------------------------- hl.on("hyprland.start", function() local startup = { + -- Generate the shared bread GUI stylesheet first, so breadbar/breadbox/ + -- bos-settings load it on start (they also live-reload if it changes). + "bread-theme generate", -- Global dark theme: GTK4/libadwaita + GTK3 theme + icon + cursor. "gsettings set org.gnome.desktop.interface color-scheme prefer-dark", "gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark",