GTK4 control panel for BOS (Bread Operating System)
Find a file
Breadway cbac50683e Harden settings: split breadcrumbs secrets, typed exec, new panels
Load and save Wi-Fi networks in networks.toml (0600) instead of writing
PSKs back into breadcrumbs.toml. The password field is write-only.

Replace the generic argv runner with typed bakery/pacman/fwupd commands
and set a real Tauri CSP. Add Lock, Screenshots, Monitors, and Help
panels. Pin bread-theme and bread-utils to bread-ecosystem v0.7.1.
bread-screenshots is not on that tag, so --screenshot calls grim
locally. bakery.toml lists webkitgtk-4.1 deps; README/CLAUDE.md match
Tauri 2 + Svelte 5 and single-trunk main.
2026-08-15 21:47:00 +08:00
.forgejo/workflows CI: single-trunk model — dev triggers on main, beta becomes RC-tag-triggered 2026-07-31 11:05:29 +08:00
frontend Harden settings: split breadcrumbs secrets, typed exec, new panels 2026-08-15 21:47:00 +08:00
packaging Drop pacman packaging, bakery-only; fix broken Tauri build path in CI 2026-07-23 10:43:23 +08:00
src Harden settings: split breadcrumbs secrets, typed exec, new panels 2026-08-15 21:47:00 +08:00
.gitignore Harden settings: split breadcrumbs secrets, typed exec, new panels 2026-08-15 21:47:00 +08:00
bakery.toml Harden settings: split breadcrumbs secrets, typed exec, new panels 2026-08-15 21:47:00 +08:00
CLAUDE.md Harden settings: split breadcrumbs secrets, typed exec, new panels 2026-08-15 21:47:00 +08:00
CONTRIBUTING.md CONTRIBUTING.md: document single-trunk + RC-tag release model 2026-07-31 11:08:41 +08:00
LICENSE Extract bos-settings into its own repo; add Appearance/Startup Apps/Display editors 2026-07-04 23:31:18 +08:00
README.md Harden settings: split breadcrumbs secrets, typed exec, new panels 2026-08-15 21:47:00 +08:00

bos-settings

System settings app for BOS (Bread Operating System) — Tauri 2 + Svelte 5. Configures every bread* app's config plus core system settings (network, sound, power, users, firewall, snapshots, packages, AUR, firmware, Hyprland display/appearance/autostart) non-destructively.

Distributed via bakery. There is one long-lived branch, main; see CONTRIBUTING.md for the single-trunk / RC-tag release model shared across the bread ecosystem.

Building

The Svelte frontend lives in frontend/, the Rust backend in src/ (this repo's crate is not named src-tauri). cargo tauri build runs the frontend build hook; a plain cargo build does not.

cd frontend && npm ci && npm run build
cd ../src && cargo build --release

Dev (Vite + cargo tauri dev):

cd src && cargo tauri dev

Packaging / releasing

Bump src/Cargo.toml (and frontend/package.json) version, then follow CONTRIBUTING.md: work lands on main via feature/ / fix/ branches (every push to main publishes a bakery dev build). Tag vX.Y.Z-rc.N for beta, vX.Y.Z for the signed stable release. Do not push to a dev branch — there isn't one.