diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 98c9654..429d178 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -552,6 +552,31 @@ how to override it. Items marked ✓ are shipped. passive — it never changes anything, augmenting the explicit rebuild flow. Indicator is in the generated bar and both summer whole-swaps. **Pending an on-machine check** (the ls-remote/notify/timer path needs a live session). +- **Automated upstream lock bumps (maintainer CI):** the upstream twin of the + user-side checker above — automate advancing Nomarchy's *own* `flake.lock`, + which is the entire delivery channel (a downstream takes a single input, + `?ref=v1`, so nixpkgs/home-manager/stylix/nixos-hardware reach it + *transitively pinned* through that lock; users can't bump them independently). + **Tiered by what CI can't do:** the hardware-QA gate (the Latitude 5410 + the + AMD dev box — AMD/NPU/Intel-GPU-compute runtime bits aren't testable in CI or + on the Intel Latitudes for the AMD paths) can't be automated, so a bot drives + `main` and a human still promotes `main → v1`. A scheduled job (Forgejo + Actions, or Renovate's Nix manager opening a reviewable lock-diff PR) runs + `nix flake update` → `nix flake check` + the existing `runNixOSTest` suite + + builds `system.build.toplevel`, and on green lands on `main` — which nobody + tracks, so a bad bump costs a debug session, not a user outage; `v1` stays + the manual on-hardware gate (it only ever fast-forwards, never force-pushed, + or a user's locked rev can vanish from history). **Cadence weekly** + (release-26.05 doesn't move fast; nightly is just churn), and `nix flake + update` stays *within* the pinned release branches — no surprise major bump + (a 26.11 jump is a deliberate `v2`, hand-edited in flake.nix). Side benefit: + shrinks the security-patch latency the single-input model otherwise imposes + (users are gated on the maintainer for nixpkgs CVEs), since a fix is usually + already eval/build/VM-tested and one hardware promotion away from `v1` — + worth fast-laning lock-only/security bumps ahead of feature batches. The repo + has **no CI today** (manual `nix flake update` only). Explicitly *not* a + binary cache: compile-from-source is a deliberate values call (Gentoo-style), + so this automates the *config/lock* channel, not artifact distribution. - **"nomarchy" control center:** a single TUI/GUI front-end over the common toggles — theme, power profile, opt-in services, display, DND — built on the same `nomarchy-theme-sync` / `nomarchy.*` surface the menu already