Align ISO bake and docs with bakery/Tauri product story
Derive BREAD_BINS from iso/bread-lockfile.toml and fail the bake when a listed binary or breadhelp content is missing. Bake bakery share files and drop breadcast from the copied installed.json. Add WebKitGTK 4.1 for Tauri bos-settings, remove rustup, and rewrite README/DESIGN to match the ISO+skel tree.
This commit is contained in:
parent
881ac41cbb
commit
a21e81476f
11 changed files with 427 additions and 212 deletions
|
|
@ -374,9 +374,8 @@ fi
|
|||
# The whole bread ecosystem (bakery, bread, breadbar, breadbox, breadcrumbs,
|
||||
# breadpad, bos-settings, breadhelp, ...) is bakery-managed, not pacman: the
|
||||
# binaries and bakery manifest live in /etc/skel/.local (baked in at ISO
|
||||
# build time via build-local.sh's BREAD_BINS array) and are copied into the
|
||||
# user's home below, so the install works fully offline with no DNS for
|
||||
# bakery/GitHub.
|
||||
# build time from iso/bread-lockfile.toml) and are copied into the user's
|
||||
# home below, so the install works fully offline with no DNS for bakery.
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Deploy dotfiles + the bakery bread ecosystem into the user's home (Calamares
|
||||
|
|
|
|||
|
|
@ -26,12 +26,13 @@ Include = /etc/pacman.d/mirrorlist
|
|||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# Breadway custom repo — provides: bakery and the bread ecosystem packages
|
||||
# (bread, breadbar, breadbox, breadcrumbs, breadpad, bos-settings).
|
||||
# (calamares comes from the official extra repo, not here.)
|
||||
# Breadway custom repo — breadlock plus AUR republishes the ISO needs
|
||||
# (calamares, zen-browser-bin, bibata-cursor-theme-bin, yay-bin,
|
||||
# zsh-theme-powerlevel10k). bakery / breadbar / bos-settings / breadhelp
|
||||
# are NOT here; they are bakery-baked into /etc/skel at ISO build time.
|
||||
#
|
||||
# Packages are published to the Forgejo Arch registry (group "os") by the
|
||||
# .forgejo/workflows/package.yml workflow in each repo, on tag push.
|
||||
# .forgejo/workflows/*.yml workflows in this repo (and breadlock's).
|
||||
#
|
||||
# Forgejo signs the repo db with a key pacman can't look up, so TrustAll
|
||||
# fails. SigLevel = Never skips verification (acceptable for this private
|
||||
|
|
|
|||
36
iso/bread-lockfile.toml
Normal file
36
iso/bread-lockfile.toml
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# Bakery binaries that MUST be baked into the live/installed skel.
|
||||
#
|
||||
# build-local.sh derives BREAD_BINS from `bins` — this is the name list, not a
|
||||
# second hardcoded array. A missing binary fails the bake: a hollow ISO is
|
||||
# worse than a failed build.
|
||||
#
|
||||
# CI should populate the builder from the stable bakery index
|
||||
# (https://dl.breadway.dev/index.json). Local builds still snapshot whatever
|
||||
# is installed on the builder; this file only names what must be present.
|
||||
#
|
||||
# Not shipped (even if present on the builder): breadcast, breadarr.
|
||||
# breadlock is pacman (see packages.x86_64), not bakery.
|
||||
|
||||
bins = [
|
||||
"bakery",
|
||||
"bread",
|
||||
"breadd",
|
||||
"bread-emit",
|
||||
"bread-module-host",
|
||||
"breadman",
|
||||
"breadbar",
|
||||
"breadbox",
|
||||
"breadbox-sync",
|
||||
"breadcrumbs",
|
||||
"breadpad",
|
||||
"breadpaper",
|
||||
"bread-theme",
|
||||
"breadmon",
|
||||
"breadsearch",
|
||||
"breadmill",
|
||||
"breadclip",
|
||||
"breadclipd",
|
||||
"breadshot",
|
||||
"bos-settings",
|
||||
"breadhelp",
|
||||
]
|
||||
|
|
@ -99,12 +99,17 @@ bluez-utils
|
|||
# blueman: GUI Bluetooth manager (pair/connect devices; breadbar shows status only).
|
||||
blueman
|
||||
|
||||
# GTK4 runtime
|
||||
# GTK4 runtime (breadbar, breadbox, breadclip, breadhelp, and other bakery apps)
|
||||
gtk4
|
||||
gtk4-layer-shell
|
||||
librsvg
|
||||
libpulse
|
||||
hicolor-icon-theme
|
||||
# Tauri 2 runtime for bakery-baked bos-settings. Arch's WebKitGTK 4.1 package
|
||||
# is webkit2gtk-4.1 (libwebkit2gtk-4.1.so); libsoup3 and JavaScriptCore 4.1
|
||||
# are pulled in as its dependencies. xdg-desktop-portal comes from the
|
||||
# Hyprland/GTK portal packages listed above.
|
||||
webkit2gtk-4.1
|
||||
# GTK3 dark theme (Adwaita-dark); without this package the gtk-theme-name in
|
||||
# skel settings.ini silently falls back to the light theme for GTK3 apps.
|
||||
gnome-themes-extra
|
||||
|
|
@ -179,19 +184,16 @@ yay-bin
|
|||
|
||||
# Bread ecosystem.
|
||||
#
|
||||
# None of the bread apps (bakery, bread, breadbar, breadbox, breadcrumbs,
|
||||
# breadpad, bos-settings, breadhelp, ...) are pacman packages here anymore —
|
||||
# they are all bakery-managed binaries baked into /etc/skel/.local/bin at
|
||||
# build time (see build-local.sh's BREAD_BINS array), so every user gets the
|
||||
# exact versions from this laptop's bakery install with no network/DNS
|
||||
# needed at install or runtime. bos-settings/breadhelp's desktop entries are
|
||||
# hand-committed static files at
|
||||
# iso/airootfs/etc/skel/.local/share/applications/, matching the pattern
|
||||
# already used for breadclip/breadman/breadmon/breadsearch. Their runtime
|
||||
# system deps are pulled in elsewhere in this list (gtk4, gtk4-layer-shell,
|
||||
# iw, libpulse, librsvg, networkmanager, openssl, zlib, systemd-libs,
|
||||
# hicolor-icon-theme) — keep those even though no bread package depends on
|
||||
# them via pacman.
|
||||
# breadlock is the only bread* pacman package here (it needs a root-owned
|
||||
# /etc/pam.d/breadlock). Everything else — bakery, bread/breadd/bread-emit/
|
||||
# bread-module-host, breadbar, breadbox, breadcrumbs, breadpad, breadpaper,
|
||||
# bread-theme, breadmon, breadsearch, breadclip, breadshot, bos-settings,
|
||||
# breadhelp — is bakery-managed and baked into /etc/skel/.local at ISO build
|
||||
# time from iso/bread-lockfile.toml (see build-local.sh). breadcast and
|
||||
# breadarr are not shipped. bos-settings/breadhelp desktop entries are
|
||||
# committed under iso/airootfs/etc/skel/.local/share/applications/. Runtime
|
||||
# deps stay listed even though no bread package depends on them via pacman
|
||||
# (gtk4, gtk4-layer-shell, webkit2gtk-4.1, iw, libpulse, librsvg, …).
|
||||
|
||||
# Input / screen utilities
|
||||
brightnessctl
|
||||
|
|
@ -324,6 +326,3 @@ qt6ct
|
|||
# hyprland.lua) needs these or Qt apps fall back to (blurry) XWayland.
|
||||
qt5-wayland
|
||||
qt6-wayland
|
||||
|
||||
# Dev tools (for bos-settings standalone install)
|
||||
rustup
|
||||
|
|
|
|||
|
|
@ -26,12 +26,13 @@ Include = /etc/pacman.d/mirrorlist
|
|||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# Breadway custom repo — provides: bakery and the bread ecosystem packages
|
||||
# (bread, breadbar, breadbox, breadcrumbs, breadpad, bos-settings).
|
||||
# (calamares comes from the official extra repo, not here.)
|
||||
# Breadway custom repo — breadlock plus AUR republishes the ISO needs
|
||||
# (calamares, zen-browser-bin, bibata-cursor-theme-bin, yay-bin,
|
||||
# zsh-theme-powerlevel10k). bakery / breadbar / bos-settings / breadhelp
|
||||
# are NOT here; they are bakery-baked into /etc/skel at ISO build time.
|
||||
#
|
||||
# Packages are published to the Forgejo Arch registry (group "os") by the
|
||||
# .forgejo/workflows/package.yml workflow in each repo, on tag push.
|
||||
# .forgejo/workflows/*.yml workflows in this repo (and breadlock's).
|
||||
#
|
||||
# Forgejo signs the repo db with a key pacman can't look up, so TrustAll
|
||||
# fails. SigLevel = Never skips verification (acceptable for this private
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue