feat: close #94 installed chromium; silence Hyprland update-news
Some checks failed
Check / eval (push) Has been cancelled

Re-boot of the offline install disk proves the residual #94 pass:
chromium on PATH, https/html mime → chromium-browser.desktop, and the
browser window actually opens. Kill ecosystem update-news / donation nag
so first boot is not Hyprland's "updated to …!" dialog.
This commit is contained in:
2026-07-15 11:23:07 +01:00
parent 46adcc9989
commit 013403deb4
4 changed files with 31 additions and 25 deletions

View File

@@ -31,31 +31,6 @@ post-boot sessions). Preserve separation: the installer bake failure and the
flake pin are different root causes even when they show up on the same machine. flake pin are different root causes even when they show up on the same machine.
(Terminal / Ghostty-on-Acer → shipped as Kitty-only, #95.) (Terminal / Ghostty-on-Acer → shipped as Kitty-only, #95.)
### 94. Live ISO/install: no default browser observed
**Progress 2026-07-13:** installed path VERIFIED at V1 — the exact HM
generation the ISO pins for offline installs contains the chromium binary,
`chromium-browser.desktop`, and all three HTTP/HTML handlers
(mime.nix sets them; template ships the package). The Acer sighting is the
LIVE session, which shipped NO browser by design (mime defaults name chromium,
GIO skips it while absent).
**Update 2026-07-14:** the live half is **gone**#103 shipped, so the live
session now carries chromium (plus office/editor/music/camera) on PATH and in
the launcher, and `checks.live-baseline-apps` asserts HTTPS still resolves to
`chromium-browser.desktop` *and* that the entry it names is actually present —
the exact "mime names a package nothing ships" trap this item found. What
remains here is only the **installed** path: a test-install VM run proving
chromium launches post-install (chain #97's Bluetooth-click V2 into the same
run).
Chromium is the resolved default-browser decision and is present in the
downstream template, but this hardware pass found no usable default browser.
Trace the live-to-installed Home Manager path rather than merely checking the
template source. Pass = Chromium launches after installation and HTTP/HTTPS
mime defaults resolve to `chromium-browser.desktop` (and the intended live-ISO
browser posture is explicit).
### 98. Boreal: button text renders black and is difficult to read ### 98. Boreal: button text renders black and is difficult to read
Audit GTK button foreground/background contrast under Boreal, including the Audit GTK button foreground/background contrast under Boreal, including the

View File

@@ -19,6 +19,20 @@ Template:
--- ---
## 2026-07-15 — Close #94 installed chromium + kill Hyprland update-news
- **Task:** Residual #94 (chromium on installed path) + first-boot polish
seen while probing.
- **Did:** Re-booted leftover offline install disk (`target.img`). Probe:
Chromium 150 on PATH, https/html → `chromium-browser.desktop`, Chromium
window opens (`about:blank` + keyring prompt). Closed #94. Added
`ecosystem.no_update_news` + `no_donation_nag` (every first boot showed
“Hyprland updated to 0.55.x!”).
- **Verified:** **V2** install re-boot screenshots `/tmp/nomarchy-v2-94/`;
V0 `nix flake check --no-build`; HM gen conf contains ecosystem keys.
- **Pending:** V3 optional on Acer (hardware already had no browser on
*live* before #103; installed path is the one that mattered).
- **Next suggestion:** #107 state.json rename, or #98 if screenshot lands.
## 2026-07-15 — File #127 docked idle blackout (no code) ## 2026-07-15 — File #127 docked idle blackout (no code)
- **Task:** Bernardo: docked laptop idle → black screens; external KB/mouse - **Task:** Bernardo: docked laptop idle → black screens; external KB/mouse
no wake; unplug external did not restore panel; Caps Lock still worked. no wake; unplug external did not restore panel; Caps Lock still worked.

View File

@@ -427,6 +427,14 @@ Design/decision records and a running log of shipped work (items marked
default `$TERMINAL` / SUPER+Return, doctor + calendar + what-changed use default `$TERMINAL` / SUPER+Return, doctor + calendar + what-changed use
`kitty --class=com.nomarchy.*`. Ghostty module and install-time GL probe `kitty --class=com.nomarchy.*`. Ghostty module and install-time GL probe
removed. V3: Acer SUPER+Return + doctor float. removed. V3: Acer SUPER+Return + doctor float.
- ✓ **Installed default browser path (#94 residual):** live half closed by
#103 + `checks.live-baseline-apps`. Installed path V2 (2026-07-15): re-boot
of offline `test-install` disk — `chromium --version` on PATH (150.x),
`xdg-mime` https/html → `chromium-browser.desktop`, Chromium window opens
(`about:blank`). Artifacts `/tmp/nomarchy-v2-94/{probe,chromium}.png`.
- ✓ **No Hyprland update-news on first boot:** `ecosystem.no_update_news` +
`no_donation_nag` so the first session is Nomarchys, not upstreams
“Hyprland updated to …!” dialog (seen on every #94/#123 install re-boot).
- ✓ **Mime defaults must name a present .desktop (#119):** same bug class as - ✓ **Mime defaults must name a present .desktop (#119):** same bug class as
#94, one key over. `text/plain` pointed at `code.desktop` (vscode), which #94, one key over. `text/plain` pointed at `code.desktop` (vscode), which
the live ISO never ships — GIO skips the missing entry and leaves no the live ISO never ships — GIO skips the missing entry and leaves no

View File

@@ -998,6 +998,15 @@ in
background_color = rgb c.base; background_color = rgb c.base;
}; };
# First boot of every installed image was showing "Hyprland updated to
# 0.55.x!" over the themed desktop (V2 re-boot of the #94 install disk,
# 2026-07-15). That dialog is Hyprland's update-news popup, not our
# welcome toast — kill it so the first session is ours, not upstream's.
ecosystem = {
no_update_news = lib.mkDefault true;
no_donation_nag = lib.mkDefault true;
};
# Window rules — float + center small config/utility dialogs that # Window rules — float + center small config/utility dialogs that
# tile awkwardly. Normal-priority list like `bind`/`exec-once` below, # tile awkwardly. Normal-priority list like `bind`/`exec-once` below,
# so a downstream `windowrule = [...]` concatenates rather than # so a downstream `windowrule = [...]` concatenates rather than