Commit graph

27 commits

Author SHA1 Message Date
Breadway
8305b4a58b bread-theme: shared component stylesheet + generator CLI
Adds the single source of truth for bread GUI styling so the apps stop
each re-implementing (and drifting on) component CSS:

- stylesheet(&Palette): full component sheet (buttons, entries, switches,
  dropdowns, lists/rows/sidebars, cards, chips, scrollbars, headings) built
  from the design tokens + a canonical @define-color block (surface=color0,
  overlay=color7, accent=color4).
- render() / shared_css_path() / write_shared_css(): render for the current
  pywal palette and write to $XDG_RUNTIME_DIR/bread/theme.css.
- gtk::apply_shared(): load that file (or a rendered fallback) at APPLICATION
  priority and watch it, so every app recolours live with no rebuild.
- new `bread-theme` CLI (generate|path|print) — gtk-free, light. Run at
  session start and on palette change; apps pick it up via the file watch.

The contract is a CSS *file*, so apps stay decoupled from this crate's gtk4
version. Tests cover the stylesheet, path, and render helpers.
2026-06-16 16:43:09 +08:00
Breadway
578067183b Disable debug package so the main package publishes correctly
Some checks failed
Mirror to GitHub / mirror (push) Successful in 1s
Build and publish package / package (push) Failing after 1m45s
makepkg's debug split produced a -debug pkg; the upload's head -1 could
grab it instead of the main package. !debug yields a single package.
2026-06-13 23:00:47 +08:00
Breadway
8b659bf83a Use REGISTRY_TOKEN (scoped write:package) for registry publish
Some checks failed
Mirror to GitHub / mirror (push) Successful in 1s
Build and publish package / package (push) Failing after 2m4s
2026-06-13 22:55:39 +08:00
Breadway
b3a3b0609b Disable LTO in PKGBUILD (vendored ring/mlua static libs vs makepkg -flto) 2026-06-13 17:06:52 +08:00
Breadway
ddfba38fc5 Add Arch packaging and Forgejo workflows for bakery
- packaging/arch/PKGBUILD: builds the bakery CLI from the workspace
- .forgejo/workflows/package.yml: publishes to the [breadway] Arch registry on tag
- .forgejo/workflows/mirror.yml: mirrors to GitHub
2026-06-13 16:40:51 +08:00
Breadway
baf145db8a fix: look for bakery.toml in version_dir, not top-level package dir 2026-06-11 14:42:40 +08:00
Breadway
8991f45bd6 fix: ignore pacman-dependent tests on non-Arch CI environments
Some checks failed
release / build (push) Failing after 2s
2026-06-11 14:27:43 +08:00
Breadway
dae5a3381f chore: bump version to 0.2.3 2026-06-11 14:20:44 +08:00
Breadway
694829c50f fix: comprehensive bakery package manager audit and repair
Critical fixes:
- gen-index.sh: emit services, config, optional_system_deps from bakery.toml;
  parse product list from registry TOML instead of hardcoded array; fail loudly
  when bakery.toml is missing (was silently producing empty metadata in prod)
- install.rs: download service units and example configs from dl server at
  install time (were never fetched); check systemctl exit codes (were swallowed);
  save state before file cleanup in remove_package (was inconsistent on error)
- doctor.rs: rewrite dep detection to use `pacman -Q` as primary (no more
  dependency on `which` or pkg-config name mismatches); add optional_system_deps
  support returning (missing, warnings) — warnings print but never block install
- get.sh: fix GitHub fallback URL (was 404 for both latest and versioned
  releases); add SHA-256 checksum verification using published .sha256 file

High priority fixes:
- bakery doctor <unknown-pkg>: exit non-zero (was silently passing)
- bakery update: add --all flag (documented in README but missing from CLI);
  add doctor gate before update (was bypassing dep check)
- bread_deps: now resolved recursively with cycle detection (was ignored)
- manifest.rs: add artifact_urls() helper and optional_system_deps field
- state.rs: atomic save via tmp+rename; cmd_info shows optional_system_deps

Tests: 17 new unit tests across doctor, download, install, state modules;
scripts/test-gen-index.sh fixture test for full pipeline
2026-06-11 13:37:09 +08:00
Breadway
0b38e8cce3 fix: force index refresh on install, fetch once for multi-package installs 2026-06-07 15:23:54 +08:00
Breadway
ac7fbf11f6 chore: bump version to 0.2.2
Some checks failed
release / build (push) Failing after 3s
2026-06-07 15:16:04 +08:00
Breadway
c2828d80d9 feat: add --version flag to bakery CLI 2026-06-07 15:13:34 +08:00
Breadway
fb1e83769d feat: register bakery as an installable package, bump to 0.2.1
Some checks failed
release / build (push) Failing after 3s
bakery can now update itself via `bakery update all`
2026-06-07 14:58:09 +08:00
Breadway
af89c726e7 feat: multi-package install and bakery update all
Some checks failed
release / build (push) Failing after 4s
- bakery install now accepts one or more package names
- bakery update all treated as update-everything (same as bare update)
- bump version to 0.2.0
2026-06-07 14:51:20 +08:00
Breadway
39aa8ccf2a docs: fix product descriptions and system deps in README
- breadbox: was 'cloud sync daemon + file browser'; it's actually a GTK4
  fuzzy app launcher; breadbox-sync resolves icons, not cloud data
- breadcrumbs: was 'network information CLI'; it's a profile-aware Wi-Fi
  state machine with Tailscale integration and a watch daemon
- breadpad: was 'scratchpad / quick-note app'; call out AI classification,
  reminders, recurrence, and the breadman viewer
- system deps: add gtk4-layer-shell for breadbox and breadpad (both use
  layer-shell windows); drop spurious 'dbus' from breadbox
2026-06-07 09:28:39 +08:00
Breadway
aad110b625 fix: use relative symlink for latest to work inside Docker containers 2026-06-07 08:59:06 +08:00
Breadway
bb1671cada fix: strip arch suffix on install, fix doubled org in github_url
- bakery: strip -x86_64 / -aarch64 / -arm64 / -armv7 suffix when placing
  binary so `breadcrumbs-x86_64` installs as `breadcrumbs`
- gen-index.sh: GH_BASE was "github.com/Breadway" but repo slugs already
  include the org, producing doubled paths; change to "github.com"
2026-06-07 08:53:39 +08:00
Breadway
165e797cec docs: expand README with install, usage, and pipeline overview 2026-06-07 00:17:27 +08:00
Breadway
e4e499bc9c fix: add contents: write permission for GitHub Release creation
Some checks failed
release / build (push) Failing after 6s
2026-06-07 00:00:43 +08:00
Breadway
8c8d44ba52 fix: create GitHub Release before uploading artifacts 2026-06-06 23:52:29 +08:00
Breadway
fad23d3797 fix: skip non-binary files in binary loop; don't capture stderr into pkg 2026-06-06 23:43:02 +08:00
Breadway
57ddbab262 Fix release pipeline: bakery.toml discovery and ECOSYSTEM_DIR on hestia
- Add bakery.toml describing the bakery binary as an installable product
- gen-index.sh: check DL_DIR/<pkg>/bakery.toml first (written by each
  product's release workflow), fall back to sibling checkout for local dev
- gen-index.sh: include bakery itself in the products list
- release.yml: use GITHUB_WORKSPACE instead of ECOSYSTEM_DIR (the
  bread-ecosystem runner IS the checkout, no separate clone needed)
- release.yml: copy bakery.toml to DL_DIR during artifact prep
2026-06-06 22:30:29 +08:00
Breadway
257619447a Merge pull request #1 from Breadway/copilot/create-readme-md
Add workspace README.md
2026-06-06 14:02:49 +08:00
copilot-swe-agent[bot]
68c00a5e49 Capitalize ecosystem references in README.md 2026-06-06 05:52:01 +00:00
copilot-swe-agent[bot]
fa3921d06c Fix naming consistency in README.md 2026-06-06 05:51:41 +00:00
copilot-swe-agent[bot]
d85233a388 Add README.md 2026-06-06 05:50:18 +00:00
Breadway
6c5536733f Init commit 2026-06-06 13:26:48 +08:00