feat(menu): Recovery scopes (#111), System IA (#105), drop Control Center (#110)
Some checks failed
Check / eval (push) Has been cancelled
Some checks failed
Check / eval (push) Has been cancelled
System is Connectivity / Devices / Recovery / Preferences under the same six-entry root. Recovery lists desktop (HM), system boot, and BTRFS files once each with cost labels. Control Center is gone: blur/gaps live in Look & Feel; update checks and Bluetooth/Printing package toggles in Preferences (with rebuilds). docs/RECOVERY paths updated.
This commit is contained in:
@@ -169,44 +169,6 @@ a suspended machine hibernates after the configured delay and resumes, and a
|
||||
machine without hibernate support hides the row instead of offering a
|
||||
suspend that never wakes.
|
||||
|
||||
### 105. `[big]` System-menu information architecture
|
||||
|
||||
Keep exactly six root menu entries while reorganizing System into
|
||||
Connectivity, Devices, Recovery, and Preferences. This item must be split into
|
||||
scoped implementation/verification tasks before work starts. Pass = every
|
||||
current route has one deliberate home, navigation remains shallow, and no
|
||||
root-level entry is added or lost.
|
||||
|
||||
### 110. `[big]` Retire Control Center safely
|
||||
|
||||
Split this into two phases before implementation: first build a migration/drop
|
||||
matrix for every unique setting, then remove the package and all references.
|
||||
Keyboard and terminal replacements must reject unsafe free-text values. Pass =
|
||||
no supported setting silently disappears and the second phase leaves no stale
|
||||
launcher, menu, package, documentation, or generated-artifact reference.
|
||||
|
||||
**Facts for the matrix, from #116 (2026-07-14):** its Bluetooth and Printing
|
||||
rows write `settings.{bluetooth,printing}.enable`, and those keys became live
|
||||
bridges to the NixOS config in a9f3a64 — until then they wrote JSON nothing
|
||||
read, so *these two toggles have never actually worked for any user*. That
|
||||
cuts both ways: "preserve existing behavior" is not a reason to keep them
|
||||
(there is no behavior to preserve), but the state keys and their bridges are
|
||||
real now and outlive the TUI — dropping the rows must not drop the keys, or a
|
||||
machine whose state.json already says `bluetooth.enable = false` will
|
||||
silently flip back on at the next rebuild. `checks.state-bridges` covers those
|
||||
two keys and will fail loudly if the bridges go with the tool; keep it green,
|
||||
and if a key is deliberately retired, remove its case in the same commit.
|
||||
Whatever inherits the rows should rebuild on toggle rather than print
|
||||
"requires rebuild" (#117). Updates (`settings.updates.enable`) is HM-side,
|
||||
where `nomarchy.settings` genuinely exists, and needs none of this.
|
||||
|
||||
### 111. Scope-first Recovery menu
|
||||
|
||||
Replace confusing Rollback/Snapshots duplication with explicit Desktop
|
||||
generation, System boot generation, and Files/root BTRFS scopes. Pass = labels
|
||||
state what is restored and from where before action, with destructive or reboot
|
||||
effects made clear and each existing recovery path represented once.
|
||||
|
||||
## LATER
|
||||
|
||||
- **Wallpapers artifact split** (ROADMAP § Faster switches — decided,
|
||||
@@ -219,8 +181,7 @@ effects made clear and each existing recovery path represented once.
|
||||
- **MIPI/IPU software-ISP camera** support (no-UVC machines).
|
||||
- **NixOS release bump → v2** `[human]`: deliberate, hand-edited, never
|
||||
automated; the previous attempt was discarded (2026-06-22) over a
|
||||
Hyprland OOM blocker — see MEMORY.md before retrying (NOW#3 should
|
||||
also soften that blocker class).
|
||||
Hyprland OOM blocker — see MEMORY.md before retrying.
|
||||
|
||||
## FUTURE (decided deferred — not the agent queue head)
|
||||
|
||||
@@ -255,25 +216,6 @@ high-ROI, etc.) live in the journal + ROADMAP — not here.*
|
||||
|
||||
### Product / day-2
|
||||
|
||||
### 117. Control Center says "requires rebuild" and leaves the user to do it
|
||||
|
||||
**Filed as an input to #110 (Retire Control Center safely), not as standalone
|
||||
work** — Bernardo 2026-07-14: the Control Center is going away, so fixing its
|
||||
toggles would be building on a condemned surface. Recorded because the
|
||||
observation outlives the tool: it is a fact the #110 migration matrix needs,
|
||||
and whatever menu inherits these settings must not repeat it.
|
||||
|
||||
Noticed while fixing #116 (2026-07-14). `nomarchy-control-center.sh`'s
|
||||
Bluetooth, Printing and Updates toggles set the state and print "… (requires
|
||||
rebuild)", so the setting only lands whenever the user next thinks to run
|
||||
`nomarchy-rebuild`. Every menu toggle written since does the rebuild itself
|
||||
and toasts the outcome (`nomarchy-autologin`, `nomarchy-fingerprint`,
|
||||
`nomarchy-autotimezone`) — the state-write-then-rebuild shape. A user who
|
||||
toggles Bluetooth off and sees Bluetooth still running cannot tell "needs a
|
||||
rebuild" from "the toggle is broken again", which is exactly the symptom #116
|
||||
removed. Migrating these rows into the rofi menu resolves it for free, since
|
||||
that shape is the convention there.
|
||||
|
||||
### 114. Greeter ignores per-device keyboard layouts
|
||||
|
||||
Found by Bernardo 2026-07-14: logging out while docked lands on tuigreet,
|
||||
@@ -321,7 +263,6 @@ See **VISION**. Open PROPOSED: post-install hardware hints; NVIDIA
|
||||
deferred past v1; IR portal (b)/(c) need T14s (HARDWARE-QUEUE § T14s).
|
||||
Standing calls: browser = Chromium; power = PPD.
|
||||
|
||||
|
||||
## Decisions `[human]`
|
||||
|
||||
Open calls only Bernardo can make; agents add options/evidence but never
|
||||
|
||||
Reference in New Issue
Block a user