Bake bread ecosystem into the ISO + full live desktop; fix installer timeout

- packages.x86_64: add bread, breadbar, breadbox, breadcrumbs, breadpad,
  bos-settings so they ship in the squashfs and reach the target via unpackfs
  (no network needed; install works fully offline)
- shellprocess.conf: set timeout 1800 — Calamares' 10s default was killing
  post-install.sh partway (the real cause of the empty /boot + ESP); the "-"
  prefix had been masking the kill as success
- bos-live-setup: live user now boots the real BOS desktop from /etc/skel
  (breadd + breadbar + breadbox) with the installer layered on top
  (auto-launch + Super+I), instead of an installer-only kiosk
- post-install.sh: drop the now-redundant networked `bakery install`
This commit is contained in:
Breadway 2026-06-14 18:41:59 +08:00
parent 078c5f4f94
commit 105b67bb4d
4 changed files with 30 additions and 29 deletions

View file

@ -7,6 +7,9 @@
# bos-launch-calamares). Runs once at boot, before the tty1 autologin getty.
set -e
# useradd -m copies /etc/skel, so the live user gets the real BOS desktop
# (breadd + breadbar + breadbox + keybinds) — proper live-media functionality,
# not an installer kiosk.
if ! id liveuser &>/dev/null; then
useradd -m -s /bin/bash liveuser
for g in wheel video input audio storage power; do
@ -15,29 +18,19 @@ if ! id liveuser &>/dev/null; then
passwd -d liveuser >/dev/null
fi
install -d -m 0700 -o liveuser -g liveuser /home/liveuser/.config/hypr
# Minimal live compositor config: auto-launch the installer.
cat >/home/liveuser/.config/hypr/hyprland.conf <<'EOF'
monitor=,preferred,auto,1
# Layer the installer onto the live desktop: auto-launch it, and bind Super+I to
# relaunch it after it's been closed. Appended to (not replacing) the skel
# Hyprland config so the full desktop stays intact.
HYPR=/home/liveuser/.config/hypr/hyprland.conf
install -d -m 0755 -o liveuser -g liveuser /home/liveuser/.config/hypr
if ! grep -q bos-launch-calamares "$HYPR" 2>/dev/null; then
cat >>"$HYPR" <<'EOF'
# --- live-media installer (added by bos-live-setup; absent on installed system) ---
exec-once = bos-launch-calamares
general {
border_size = 2
col.active_border = rgba(88c0d0ff)
col.inactive_border = rgba(4c566aff)
}
decoration { rounding = 4 }
input {
kb_layout = us
follow_mouse = 1
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
}
bind = SUPER, I, exec, bos-launch-calamares
EOF
fi
# Start Hyprland on tty1 login; capture output and fall back to a shell so a
# failed compositor start is visible rather than a blank looping cursor.