Fix boot-critical, session, and UX bugs found in round-3 UX audit
All checks were successful
Mirror to GitHub / mirror (push) Successful in 2s
Build and publish package / package (push) Successful in 2m2s
Build and release ISO / release-iso (push) Successful in 14m20s

Snapshots panel was non-functional (wrong snapper flag); breadgreet picked
the wrong session .desktop and skipped bos-session's PATH fixup; Calamares
aborted offline installs over an unnecessary packages module; snapshot
rollback silently no-op'd on BOS's pinned-subvolume layout (now points at
grub-btrfs instead); breadcrumbs was configurable but had no daemon to run
it. Also: SUPER+I double-bind, breadpaper/packages panels blocking the GTK
main thread, dead polkit rule, and a sweep of smaller drift (default
sidebar view, stale wording, missing .desktop launchers, wallpaper daemon
not recording its own default).
This commit is contained in:
Breadway 2026-07-03 22:04:26 +08:00
parent a8f1592e75
commit d78a2343f4
32 changed files with 553 additions and 209 deletions

View file

@ -11,14 +11,18 @@ amd-ucode
intel-ucode
# Power management (vendor-neutral; works on Intel and AMD). tlp auto-tunes power
# by AC/battery and CPU driver; hypridle/hyprlock handle idle dim/off/lock/suspend
# by AC/battery and CPU driver; hypridle/breadlock handle idle dim/off/lock/suspend
# and the lock screen; upower exposes battery state. NOT power-profiles-daemon —
# it conflicts with tlp.
tlp
tlp-rdw
upower
hypridle
hyprlock
# breadlock replaces hyprlock (locker) and tuigreet (greetd's greeter) — see
# /etc/greetd/config.toml and skel's hypridle.conf lock_cmd. cage hosts
# breadgreet as a single-client kiosk compositor under greetd.
breadlock
cage
# Bootloader + filesystem
grub
@ -56,9 +60,8 @@ xdg-desktop-portal-hyprland
# and Firefox-based apps (Zen). Without it those apps get no file dialog.
xdg-desktop-portal-gtk
# Login manager for the installed system (Wayland-native; enabled by
# post-install.sh, launches the Hyprland session via tuigreet → bos-session).
# post-install.sh, launches the Hyprland session via breadgreet → bos-session).
greetd
greetd-tuigreet
xdg-utils
xdg-user-dirs
polkit