remove breadsearch from bos #4

Closed
opened 2026-09-05 11:23:27 +08:00 by Breadway · 5 comments
Owner
No description provided.
Author
Owner

I have personally found no benefit from using breadsearch, other than hogging memory.
It should be removed and optional after install

I have personally found no benefit from using breadsearch, other than hogging memory. It should be removed and optional after install
Author
Owner

Investigated, not implemented. Two blockers.

Blocker 1: the work is in the bos repo, which is not clean. This card is filed against Breadway/breadsearch but every change needed is in Breadway/bos, and that checkout currently has uncommitted local changes (build-local.sh, iso/airootfs/etc/calamares/post-install.sh, bos-live-setup, bos-session, plus a staged new systemd unit). Per the run's rules I do not touch a working tree I did not create, so I stopped here.

Blocker 2: "optional after install" needs a decision. BOS has no established "optional component" mechanism that I can see. Options: a bakery optional group, a BOS Settings toggle that enables/disables the units, or just dropping it from the default install and leaving it installable via bakery install breadsearch. That is a product call.

Reference inventory (what "remove breadsearch from bos" touches, so the eventual PR is scoped):

  • iso/bread-lockfile.toml: line 37 (in a package array) and line 59 (breadsearch = "0.3.2" version pin)
  • iso/packages.x86_64: line 210 (comment only)
  • iso/airootfs/etc/skel/.config/hypr/autostart.json: line 13, breadsearch listen autostart entry ("enabled": true)
  • iso/airootfs/etc/skel/.config/hypr/hyprland.lua: line 225, same autostart
  • iso/airootfs/etc/skel/.config/hypr/scripts/system/autostart.lua: line 28, same autostart
  • iso/airootfs/etc/skel/.local/share/applications/breadsearch.desktop: the launcher entry
  • iso/airootfs/usr/local/bin/bos-update: line 14 (comment)
  • iso/airootfs/etc/skel/.config/bread/modules/breadhelp-tour.lua: line 8 (comment)
  • README.md: lines 24, 64, 246, 265, 302 and packaging/arch/README.md line 11 (docs)

The autostart entries are already guarded with command -v breadsearch >/dev/null, so if breadsearch just stops being installed by default they become no-ops rather than errors, which makes "drop from default install, keep installable" the lowest-risk path.

Leaving in todo pending the call on blocker 2 (and the bos tree being clean).

Investigated, not implemented. Two blockers. **Blocker 1: the work is in the `bos` repo, which is not clean.** This card is filed against `Breadway/breadsearch` but every change needed is in `Breadway/bos`, and that checkout currently has uncommitted local changes (`build-local.sh`, `iso/airootfs/etc/calamares/post-install.sh`, `bos-live-setup`, `bos-session`, plus a staged new systemd unit). Per the run's rules I do not touch a working tree I did not create, so I stopped here. **Blocker 2: "optional after install" needs a decision.** BOS has no established "optional component" mechanism that I can see. Options: a bakery optional group, a BOS Settings toggle that enables/disables the units, or just dropping it from the default install and leaving it installable via `bakery install breadsearch`. That is a product call. **Reference inventory** (what "remove breadsearch from bos" touches, so the eventual PR is scoped): - `iso/bread-lockfile.toml`: line 37 (in a package array) and line 59 (`breadsearch = "0.3.2"` version pin) - `iso/packages.x86_64`: line 210 (comment only) - `iso/airootfs/etc/skel/.config/hypr/autostart.json`: line 13, `breadsearch listen` autostart entry (`"enabled": true`) - `iso/airootfs/etc/skel/.config/hypr/hyprland.lua`: line 225, same autostart - `iso/airootfs/etc/skel/.config/hypr/scripts/system/autostart.lua`: line 28, same autostart - `iso/airootfs/etc/skel/.local/share/applications/breadsearch.desktop`: the launcher entry - `iso/airootfs/usr/local/bin/bos-update`: line 14 (comment) - `iso/airootfs/etc/skel/.config/bread/modules/breadhelp-tour.lua`: line 8 (comment) - `README.md`: lines 24, 64, 246, 265, 302 and `packaging/arch/README.md` line 11 (docs) The autostart entries are already guarded with `command -v breadsearch >/dev/null`, so if breadsearch just stops being installed by default they become no-ops rather than errors, which makes "drop from default install, keep installable" the lowest-risk path. Leaving in todo pending the call on blocker 2 (and the bos tree being clean).
Author
Owner

Direction: option (a) - drop breadsearch from the default BOS install, keep it installable via bakery install breadsearch.

"Removed and optional after install" reads most naturally as "not installed by default, add it back if you want". BOS has no optional-component framework, and building one (a bakery optional group, or a BOS Settings toggle that enables/disables the units) is scope creep for a removal ticket - and a Settings toggle is actually heavier here, since with breadsearch not installed the toggle has nothing to enable unless it is also paired with on-demand install. The autostart entries are already command -v breadsearch guarded, so absence is a clean no-op, which is what makes (a) safe.

Scope (in the bos repo, on a fix/ branch in a worktree off origin/main - the main checkout has unrelated in-progress plymouth work, do not disturb it):

  • iso/bread-lockfile.toml: remove from the package array (line ~37) and the breadsearch = "0.3.2" version pin (line ~59)
  • iso/airootfs/etc/skel/.config/hypr/autostart.json line ~13, hyprland.lua line ~225, scripts/system/autostart.lua line ~28: remove the breadsearch listen autostart entries
  • iso/airootfs/etc/skel/.local/share/applications/breadsearch.desktop: remove the launcher
  • iso/packages.x86_64 line ~210 (comment), iso/airootfs/usr/local/bin/bos-update line ~14 (comment), breadhelp-tour.lua line ~8 (comment): drop the mentions
  • README.md (lines ~24, 64, 246, 265, 302) and packaging/arch/README.md line ~11: update docs to reflect that breadsearch is no longer default and is available via bakery install breadsearch

Get-right list:

  • Verify bakery install breadsearch actually resolves against the live bakery index before writing docs that promise it. If breadsearch is not a standalone bakery package, either add the companion publish step or word the docs as "build from source".
  • Check for a breadmill indexer unit / autostart - if there is one it needs the same treatment; do not remove breadsearch and leave breadmill running against nothing.
  • This only affects new ISO installs; bos-update will not remove breadsearch from existing systems. Say so in the PR description. Forced cleanup of existing installs would be a separate bos-update change, not this ticket.

Moving to doing.

Direction: **option (a) - drop breadsearch from the default BOS install, keep it installable via `bakery install breadsearch`.** "Removed and optional after install" reads most naturally as "not installed by default, add it back if you want". BOS has no optional-component framework, and building one (a bakery optional group, or a BOS Settings toggle that enables/disables the units) is scope creep for a removal ticket - and a Settings toggle is actually *heavier* here, since with breadsearch not installed the toggle has nothing to enable unless it is also paired with on-demand install. The autostart entries are already `command -v breadsearch` guarded, so absence is a clean no-op, which is what makes (a) safe. **Scope (in the `bos` repo, on a `fix/` branch in a worktree off `origin/main` - the main checkout has unrelated in-progress plymouth work, do not disturb it):** - `iso/bread-lockfile.toml`: remove from the package array (line ~37) and the `breadsearch = "0.3.2"` version pin (line ~59) - `iso/airootfs/etc/skel/.config/hypr/autostart.json` line ~13, `hyprland.lua` line ~225, `scripts/system/autostart.lua` line ~28: remove the `breadsearch listen` autostart entries - `iso/airootfs/etc/skel/.local/share/applications/breadsearch.desktop`: remove the launcher - `iso/packages.x86_64` line ~210 (comment), `iso/airootfs/usr/local/bin/bos-update` line ~14 (comment), `breadhelp-tour.lua` line ~8 (comment): drop the mentions - `README.md` (lines ~24, 64, 246, 265, 302) and `packaging/arch/README.md` line ~11: update docs to reflect that breadsearch is no longer default and is available via `bakery install breadsearch` **Get-right list:** - Verify `bakery install breadsearch` actually resolves against the live bakery index *before* writing docs that promise it. If breadsearch is not a standalone bakery package, either add the companion publish step or word the docs as "build from source". - Check for a `breadmill` indexer unit / autostart - if there is one it needs the same treatment; do not remove breadsearch and leave breadmill running against nothing. - This only affects new ISO installs; `bos-update` will not remove breadsearch from existing systems. Say so in the PR description. Forced cleanup of existing installs would be a separate `bos-update` change, not this ticket. Moving to doing.
Author
Owner

PR: Breadway/bos#12 (in Breadway/bos, since that is where all the changes live; it will not auto-link on this breadsearch card).

Implemented option (a): breadsearch and its breadmill indexer are dropped from the default BOS install and stay installable via bakery install breadsearch.

  • iso/bread-lockfile.toml: removed breadsearch + breadmill from required_bins and the version pin
  • 90-bos-bakery.preset: removed enable breadmill.service
  • all three hypr autostart files: removed the breadsearch listen entries (already command -v guarded, so no-op without it)
  • removed the breadsearch.desktop launcher
  • comments in packages.x86_64, bos-update, breadhelp-tour.lua, post-install.sh: mentions dropped
  • README.md + packaging/arch/README.md: documented the opt-in path

Get-right list from the direction comment:

  • Verified bakery install breadsearch resolves: breadsearch 0.3.3 is a live standalone package in the stable index bundling both breadmill-x86_64 and breadsearch-x86_64, shipping breadmill.service (enable: true) with a post_install that starts it. Docs promise it safely.
  • breadmill got the same treatment (preset, lockfile, post-install comment).
  • PR description states this affects new ISO installs only; bos-update does not remove it from existing systems.

Verified: autostart.json still valid JSON, luac -p clean on the three Lua files, bash -n clean on the two shell files, scripts/ci-stage-bakery.py parses required_bins/[versions] generically. Full ISO build not run locally (needs Arch + root).

PR: https://git.breadway.dev/Breadway/bos/pulls/12 (in `Breadway/bos`, since that is where all the changes live; it will not auto-link on this `breadsearch` card). Implemented option (a): breadsearch and its `breadmill` indexer are dropped from the default BOS install and stay installable via `bakery install breadsearch`. - `iso/bread-lockfile.toml`: removed `breadsearch` + `breadmill` from `required_bins` and the version pin - `90-bos-bakery.preset`: removed `enable breadmill.service` - all three hypr autostart files: removed the `breadsearch listen` entries (already `command -v` guarded, so no-op without it) - removed the `breadsearch.desktop` launcher - comments in `packages.x86_64`, `bos-update`, `breadhelp-tour.lua`, `post-install.sh`: mentions dropped - `README.md` + `packaging/arch/README.md`: documented the opt-in path Get-right list from the direction comment: - Verified `bakery install breadsearch` resolves: `breadsearch` 0.3.3 is a live standalone package in the stable index bundling both `breadmill-x86_64` and `breadsearch-x86_64`, shipping `breadmill.service` (enable: true) with a post_install that starts it. Docs promise it safely. - `breadmill` got the same treatment (preset, lockfile, post-install comment). - PR description states this affects new ISO installs only; `bos-update` does not remove it from existing systems. Verified: `autostart.json` still valid JSON, `luac -p` clean on the three Lua files, `bash -n` clean on the two shell files, `scripts/ci-stage-bakery.py` parses `required_bins`/`[versions]` generically. Full ISO build not run locally (needs Arch + root).
Author
Owner

No PR exists in the breadsearch repo for this, by design: the actual change lives entirely in Breadway/bos PR #12 (branch fix/search-4-drop-breadsearch-default), tracked there as BOS-12 on breadboard. I reviewed that diff there and it looks ready to merge (drops breadsearch/breadmill from the default BOS install, keeps it available via bakery install breadsearch, docs updated). Since bos is on the release train, I'm not merging it and I'm leaving both issues in review. See the BOS-12 comment for the full verdict. Nothing further to do on this key; it will resolve when PR #12 lands.

No PR exists in the breadsearch repo for this, by design: the actual change lives entirely in Breadway/bos PR #12 (branch fix/search-4-drop-breadsearch-default), tracked there as BOS-12 on breadboard. I reviewed that diff there and it looks ready to merge (drops breadsearch/breadmill from the default BOS install, keeps it available via `bakery install breadsearch`, docs updated). Since bos is on the release train, I'm not merging it and I'm leaving both issues in review. See the BOS-12 comment for the full verdict. Nothing further to do on this key; it will resolve when PR #12 lands.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Breadway/breadsearch#4
No description provided.