GTK4 control panel for BOS (Bread Operating System)
Find a file
Breadway f3a5839cf1 Migrate config load/save/atomic_write to bread_utils::tomlcfg
load_doc/save_doc/atomic_write's bodies now delegate to
bread_utils::tomlcfg and bread_utils::atomic (path dependency for now, see
the TODO in Cargo.toml) instead of owning the temp-then-rename +
.bak-before-overwrite logic locally. Public function names/signatures in
config/mod.rs are unchanged, so none of the ~10 call sites across
ui/views/*.rs needed touching.

This is the other half of tonight's earlier BOS fix pass: that pass gave
breadhelp/src/config.rs its own byte-for-byte copy of this exact logic
(its own doc comment says "same discipline as bos-settings/src/config/
mod.rs::atomic_write") rather than sharing it — breadhelp's migration
follows in the next commit.

Builds clean; all 11 existing tests pass, including the atomic-write
backup/no-leftover-tmp-file test that now exercises the delegated code.
2026-07-17 09:30:36 +08:00
.forgejo/workflows Extract bos-settings into its own repo; add Appearance/Startup Apps/Display editors 2026-07-04 23:31:18 +08:00
packaging can't be bothered writing a commit message 2026-07-16 18:05:49 +08:00
src Migrate config load/save/atomic_write to bread_utils::tomlcfg 2026-07-17 09:30:36 +08:00
.gitignore Extract bos-settings into its own repo; add Appearance/Startup Apps/Display editors 2026-07-04 23:31:18 +08:00
bakery.toml Add bakery.toml and packaging/arch to match bread ecosystem 2026-06-13 11:32:40 +08:00
Cargo.lock Migrate config load/save/atomic_write to bread_utils::tomlcfg 2026-07-17 09:30:36 +08:00
Cargo.toml Migrate config load/save/atomic_write to bread_utils::tomlcfg 2026-07-17 09:30:36 +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 can't be bothered writing a commit message 2026-07-16 18:05:49 +08:00

bos-settings

System settings app for BOS (Bread Operating System) — GTK4, 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.

Split out of the bos repo into its own repo so a bos-settings release doesn't require a BOS ISO release, and vice versa. Still the only pacman-packaged (not bakery-managed) bread app — see packaging/README.md.

Building

cargo build --release

Packaging / releasing

See packaging/README.md. In short: bump Cargo.toml's version, tag vX.Y.Z, push the tag to both remotes — .forgejo/workflows/package.yml builds and publishes to the [breadway] pacman repo automatically.