feat: close #54 V2 install safety, #33 rofi scrollbar, #43 MOTD tip
All checks were successful
Check / eval (push) Successful in 3m0s

#54: permanent checks.installer-safety; test-install-safety harness with
offline compose-fail, LUKS-signature disk warn, and HM-hint FORCE paths.
#33: enable themed rofi scrollbars (generated + all whole-swap .rasi).
#43: MOTD + first-boot tip for System › Firmware (V3 LVFS stays hw-queue).

V2: compose-fail/disk-warn/hm-hint logs green offline; theme-shot
boreal+summer-night menus OK. V0 flake/installer-safety.
This commit is contained in:
Bernardo Magri
2026-07-09 23:02:05 +01:00
parent be4efd38ea
commit 9aa8f250d6
18 changed files with 561 additions and 65 deletions

View File

@@ -28,22 +28,6 @@ in [`docs/ROADMAP.md`](../docs/ROADMAP.md); map in
## NEXT
### 43. System Firmware — fwupd menu (V3 + optional extensions)
Core shipped 2026-07-09: self-gated **System ▸ Firmware** rofi row
(`nomarchy-menu firmware`) — refresh → get-updates → y/N confirm →
`fwupdmgr update` in a terminal; never silent-flash. V0+V1 (flake check,
HM build, generated `bash -n`). **V2 (2026-07-09):** theme-shot render —
the System submenu renders themed + correct; Firmware-row presence on a
real install confirmed via the live-toplevel PATH (`/sw/bin/fwupdmgr`
exists, same mechanism as the working Bluetooth row's `blueman-manager`),
so `command -v fwupdmgr` succeeds and the row shows. (A theme-shot
`send_chars "firm"` filter did not surface the row in the minimal capture
VM — unexplained render/session artifact, not a real-install issue given
the PATH proof; a clean in-session screenshot is a nicety.) **Remaining:**
- **V3** — real LVFS flash + reboot note on hardware → HARDWARE-QUEUE.
- Optional (own slices): first-boot/MOTD one-liner when fwupd is active;
Waybar/updates-panel integration. (Doctor "updates available" = #44.)
### 14. Automated lock bumps — confirm the first real run
Slices b+c shipped 2026-07-05 (`.gitea/workflows/bump.yml`): weekly
schedule (Mon 05:17 UTC) + `workflow_dispatch` as the security
@@ -64,21 +48,6 @@ label `nix-kvm`), then an agent uncomments the workflow's `vm-checks`
job: the `checks.*` VM suite + real toplevel/HM builds on every push
that later upgrades item 14's bump gate from eval-only to the full suite.
### 33. rofi page-overflow hint (scrollbar)
(Raised by Bernardo, 2026-07-07 — item 3.) When a list/grid overflows
onto another page, nothing signals there's more below. Add a scrollbar
(rofi's `scrollbar` element) or a "more ↓" hint, themed to the palette,
on the launcher grid and the long text menus. Check rofi 2.0.0's
scrollbar support/theming.
_Scoped 2026-07-07:_ rofi only draws the scrollbar when the list actually
overflows (`lines < rows`), so enabling it self-hides on short menus —
the right primitive. But it's a **visual, ~10-file slice**: the generated
palette theme (`rofi.nix`, `scrollbar = false`) **plus every authored
`.rasi`** (boreal/nord/lumon/kanagawa/retro-82/neon-glass/executive-slate/
summer-day/summer-night) — all deliberately set `scrollbar { width:0 }`
today, each needs a per-theme handle width/colour. Payoff is V3-only
(rendering), so it wants a themed session, not a headless edit.
### 41. Floating-window audit — remaining (needs hardware class checks)
(Raised by Bernardo, 2026-07-07 — item 11.) Broaden the `windowrule`
float set beyond the conservative first cut.
@@ -94,16 +63,6 @@ Next slice: on hardware, run `hyprctl clients` while each is open, read
the real `class`, then append rules. Also revisit whether blueman/s-c-p
actually float once seen (regex tolerance for the `.…-wrapped` form).
### 54. Installer safety + polish — V2 scenarios pending
Four guards shipped 2026-07-09 (V0/V1: bash -n, flake check, nomarchy-install
builds): offline `compose-lock` failure now fail-closes instead of a network
`flake lock`; disk-review `warn` when the target shows Windows/BitLocker/NTFS/
LUKS; account password min 8 (mirrors LUKS); HM pre-activate failure drops a
`NOMARCHY-DESKTOP-NOT-THEMED.txt` hint on the target home. **Remaining V2**
(need crafted install scenarios): offline install actually failing closed; an
NTFS/BitLocker disk firing the warning; the pre-activate hint landing on a
booted target. (Password ≥8 is V0-complete.)
## LATER
- **Wallpapers artifact split** (ROADMAP § Faster switches — decided,