fix(live): git-init the seeded flake so doctor stops false-warning
All checks were successful
Check / eval (push) Successful in 3m26s
All checks were successful
Check / eval (push) Successful in 3m26s
BACKLOG #99: the live-session seed (nomarchy-seed-flake) did a bare `cp -r` with no `git init`, so `~/.nomarchy` was not a repo in the live session and nomarchy-doctor's `git ls-files --error-unmatch theme-state.json` false-alarmed "theme-state.json is NOT git-tracked" (installed systems commit at nomarchy-install.sh:654 and were always fine). The seed now init+add+commits, exactly like the installer. Verified: V2 — focused serial-log VM run (/tmp/nomarchy-v2-theme-99/): doctor prints "theme-state.json is git-tracked" and "flake checkout is clean"; GIT_REPO_OK / TRACKED_OK markers. A drv-equivalence test proves the seed change is build-neutral: homeConfigurations.<user>.activationPackage is byte-identical path-seeded vs git-seeded (bvl30ggn...-home-manager-generation.drv). nix flake check green. The same run exposed a separate, pre-existing failure — offline theme switching in the live session rebuilds from source and dies offline — filed as BACKLOG #113 (NOT caused by this change: same drv either way). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -37,10 +37,10 @@ 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 ships NO browser by design (mime defaults name chromium,
|
||||
GIO skips it while absent) — #103 adds live baseline apps. Remains: a
|
||||
test-install VM run proving chromium launches post-install (chain #97's
|
||||
Bluetooth-click V2 into the same run), + make the live posture explicit in
|
||||
the flake comment (edit drafted, uncommitted).
|
||||
GIO skips it while absent) — #103 adds live baseline apps. Live posture is
|
||||
now explicit in the flake comment. Remains: 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.
|
||||
@@ -71,26 +71,27 @@ buttons in the installer (VM gum screens under Boreal look legible —
|
||||
artifacts in `/tmp/nomarchy-v2-swap-93/`). Needs Bernardo's screenshot or
|
||||
an Acer repro to pin the actual widget before fixing.
|
||||
|
||||
### 99. Doctor/Waybar reports `theme.json` is not git-tracked
|
||||
### 113. Live session: offline theme switch rebuilds the world from source
|
||||
|
||||
**Progress 2026-07-13:** root-caused — the message is doctor's
|
||||
"`theme-state.json` is NOT git-tracked": the live seed (hosts/live.nix
|
||||
`nomarchy-seed-flake`) does `cp -r` with no `git init`, so `~/.nomarchy`
|
||||
isn't a repo in the LIVE session (installed systems commit at
|
||||
nomarchy-install.sh:654 and are fine). Fix drafted in the working tree
|
||||
(seed does init+add+commit like the installer). Held for one open
|
||||
question: the same evidence run saw the live offline
|
||||
`nomarchy-theme-sync apply gruvbox` rebuild fail ("Build failed due to
|
||||
failed dependency") — determine whether that predates the git-seed (the
|
||||
git+file eval flips untracked-file visibility) before committing; a
|
||||
focused VM run capturing the full rebuild log over serial is in flight
|
||||
(`/tmp/nomarchy-v2-theme-99/`).
|
||||
|
||||
The live-installed checkout shows a doctor/Waybar warning that `theme.json`
|
||||
is not tracked. Determine whether the warning targets the generated alias or
|
||||
the canonical `theme-state.json`, then align the check with the in-flake state
|
||||
contract. Pass = a fresh install has no false warning while a genuinely
|
||||
untracked canonical state file is still detected.
|
||||
Surfaced by #99's evidence run (2026-07-13, `/tmp/nomarchy-v2-theme-99/`):
|
||||
in the **live ISO** session, offline `nomarchy-theme-sync apply gruvbox`
|
||||
fails — its `home-manager switch` tries to build **1176 derivations** from
|
||||
the `stage0`/`hex0` bootstrap up, then dies on offline source fetches
|
||||
(`vala`, `yasm`, `config.jsonc`, `ghostty-config`, `easyeffects.svg`,
|
||||
`typogrify`…), ending `error: Build failed due to failed dependency`. This
|
||||
contradicts docs/TESTING.md item 6 ("apply gruvbox → switch runs offline").
|
||||
The failing generation is `bvl30ggn…-home-manager-generation.drv`; it is
|
||||
**not** the drv the ISO pins (the pin is the *default*-theme
|
||||
`homeConfigurations.${username}.activationPackage`, i.e. Boreal — confirmed
|
||||
drv-identical to the failing one only for gruvbox state, so a non-default
|
||||
theme's generation is unpinned). NOT caused by #99's git-seed: the drv is
|
||||
byte-identical path-seeded vs git-seeded. **Decide the contract:** either
|
||||
pin every baked theme's live activationPackage into the ISO (size cost) or
|
||||
scope the offline-switch promise to the shipped theme + correct
|
||||
TESTING.md/MEMORY. Pass = a fresh live ISO either switches to any baked
|
||||
theme offline, or fails with a clear "needs network for this theme" message
|
||||
and accurate docs. **Not caused by anything in today's batch** — separate
|
||||
pre-existing ISO-pinning gap.
|
||||
|
||||
## NEXT
|
||||
|
||||
|
||||
Reference in New Issue
Block a user