docs(hardware): install-tested hall of fame (#85)
Some checks failed
Check / eval (push) Has been cancelled
Some checks failed
Check / eval (push) Has been cancelled
HARDWARE.md §9 lists T14s Gen 4 + Latitude 5410/5310 with DMI/profile notes and a "send your DMI line" PR invite. Split dock life #84 into #86 clamshell + #87 dock audio (stable new IDs). Verified: V0 (docs/backlog only).
This commit is contained in:
@@ -55,18 +55,16 @@ runtime-computed `resume_offset` into the boot cmdline, and the dev box runs
|
|||||||
exactly this layout (`/proc/cmdline` verified) but isn't Nomarchy. Steps in
|
exactly this layout (`/proc/cmdline` verified) but isn't Nomarchy. Steps in
|
||||||
HARDWARE-QUEUE. Close #76 on PASS.
|
HARDWARE-QUEUE. Close #76 on PASS.
|
||||||
|
|
||||||
### 84. Dock life polish (`VISION § C`) `[big]`
|
### 86. Clamshell dock: lid + external monitor (`VISION § C`)
|
||||||
Split before starting: (a) clamshell — lid closed with external monitor
|
Lid closed with external monitor connected must not suspend
|
||||||
connected must not suspend (logind lidSwitchDocked/ExternalPower audit +
|
(`logind` `lidSwitchDocked` / `ExternalPower` audit + display-profile
|
||||||
display-profile interplay), wake behaves; (b) default audio sink follows
|
interplay); wake behaves. Display profiles + auto-switch already exist —
|
||||||
dock/undock (dock sink on plug, internal on unplug — WirePlumber policy
|
this is the lid/suspend edge case. VM where possible; residual V3 on
|
||||||
or a udev hook). Display profiles + auto-switch already exist; this is
|
real dock hardware.
|
||||||
the remaining edge-case pass.
|
|
||||||
|
|
||||||
### 85. Hardware hall of fame (`VISION § F`)
|
### 87. Dock audio sink follows plug/unplug (`VISION § C`)
|
||||||
A HARDWARE.md "install-tested machines" table (model, DMI, profile,
|
Default audio sink: dock sink on plug, internal on unplug (WirePlumber
|
||||||
date, notes) seeded from the Latitude/dev-box sessions + a short "send
|
policy or udev hook). Complements #86; can ship independently.
|
||||||
your DMI line" PR invite. Docs-only.
|
|
||||||
|
|
||||||
## LATER
|
## LATER
|
||||||
|
|
||||||
@@ -120,8 +118,8 @@ high-ROI, etc.) live in the journal + ROADMAP — not here.*
|
|||||||
2026-07-10). Keep #59 commented install guidance; no
|
2026-07-10). Keep #59 commented install guidance; no
|
||||||
`nomarchy.hardware.nvidia.*` until a hybrid maintainer + queue.
|
`nomarchy.hardware.nvidia.*` until a hybrid maintainer + queue.
|
||||||
|
|
||||||
_(#80–#83 shipped 2026-07-11. Remaining promoted: dock life `[big]`,
|
_(#80–#83 + #85 shipped 2026-07-11. #84 split → **NEXT #86–#87** dock
|
||||||
hall of fame → **NEXT #84–#85**. Split #84 before starting.)_
|
clamshell + dock audio.)_
|
||||||
|
|
||||||
### v1.0 pointer
|
### v1.0 pointer
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,15 @@ Template:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 2026-07-11 — #85 hardware hall of fame + split #84
|
||||||
|
- **Task:** NEXT #85 docs hall of fame; #84 was `[big]` → split.
|
||||||
|
- **Did:** HARDWARE.md §9 install-tested table (T14s Gen 4 AMD, Latitude
|
||||||
|
5410/5310) + DMI PR invite; renumbered following sections. #84 → #86
|
||||||
|
clamshell + #87 dock audio. VISION/ROADMAP; closed #85.
|
||||||
|
- **Verified:** V0 (docs only).
|
||||||
|
- **Pending:** —
|
||||||
|
- **Next suggestion:** #86 clamshell or #87 dock audio (both product).
|
||||||
|
|
||||||
## 2026-07-11 — #83 doctor first-boot pre-activate flag
|
## 2026-07-11 — #83 doctor first-boot pre-activate flag
|
||||||
- **Task:** NEXT #83 — doctor points at failed installer HM pre-activate.
|
- **Task:** NEXT #83 — doctor points at failed installer HM pre-activate.
|
||||||
- **Did:** doctor row: if `/var/log/nomarchy-hm-preactivate.log` is present
|
- **Did:** doctor row: if `/var/log/nomarchy-hm-preactivate.log` is present
|
||||||
|
|||||||
@@ -346,7 +346,40 @@ nomarchy-detect-hw --raw # MODULE / NOMARCHY / DETAIL protocol lines
|
|||||||
Prints suggested `hardwareProfile` and `system.nix` lines; **does not**
|
Prints suggested `hardwareProfile` and `system.nix` lines; **does not**
|
||||||
rewrite the flake. Paste after review, then `sudo nixos-rebuild switch`.
|
rewrite the flake. Paste after review, then `sudo nixos-rebuild switch`.
|
||||||
|
|
||||||
## 9. Adding your model to the distro
|
## 9. Install-tested machines (hall of fame)
|
||||||
|
|
||||||
|
Models that have seen a real Nomarchy session (live ISO, install, or
|
||||||
|
day-to-day QA) — not a guarantee of every feature, just a public seed
|
||||||
|
list. **DB coverage** (hardware-db.sh) is broader; this table is the
|
||||||
|
smaller “someone actually sat at it” set.
|
||||||
|
|
||||||
|
| Model | DMI (`sys_vendor` × `product_name` / version) | Typical `hardwareProfile` | Last noted | Notes |
|
||||||
|
|-------|-----------------------------------------------|---------------------------|------------|-------|
|
||||||
|
| Lenovo ThinkPad T14s Gen 4 (AMD) | `LENOVO` × `21F8CTO1WW` / `ThinkPad T14s Gen 4` | common AMD laptop + SSD (plus `nomarchy.hardware.amd` / fingerprint / IR cam as probed) | 2026-07 | Maintainer day-to-day + HARDWARE-QUEUE (IR portal, fingerprint, NPU). Dual-sensor webcam is the motivating IR case. |
|
||||||
|
| Dell Latitude 5410 | Dell Latitude 5410 (Intel) | common Intel laptop + SSD (+ GuC when enabled) | 2026-07 | Primary Intel hardware-QA host (session, themes, polkit, bar). |
|
||||||
|
| Dell Latitude 5310 | Dell Latitude 5310 (Intel) | same family as 5410 | 2026-07 | Charge-limit / power QA sibling (see HARDWARE-QUEUE). |
|
||||||
|
|
||||||
|
### Send your DMI line
|
||||||
|
|
||||||
|
If you install Nomarchy on a machine and it works (or fails in an
|
||||||
|
interesting way), open a PR that:
|
||||||
|
|
||||||
|
1. Adds a row to the table above (model, DMI, profile, date, short notes).
|
||||||
|
2. Optionally adds a `HARDWARE_DB` line in
|
||||||
|
`pkgs/nomarchy-install/hardware-db.sh` when nixos-hardware has a
|
||||||
|
matching module (§10).
|
||||||
|
|
||||||
|
Quick DMI grab:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
printf '%s | %s | %s\n' \
|
||||||
|
"$(cat /sys/class/dmi/id/sys_vendor)" \
|
||||||
|
"$(cat /sys/class/dmi/id/product_name)" \
|
||||||
|
"$(cat /sys/class/dmi/id/product_version)"
|
||||||
|
nomarchy-detect-hw # suggested MODULE / NOMARCHY lines
|
||||||
|
```
|
||||||
|
|
||||||
|
## 10. Adding your model to the distro
|
||||||
|
|
||||||
For contributors (and power users who will PR):
|
For contributors (and power users who will PR):
|
||||||
|
|
||||||
@@ -374,8 +407,9 @@ For contributors (and power users who will PR):
|
|||||||
`nixosModules` is queued so lock bumps cannot silently break installs.
|
`nixosModules` is queued so lock bumps cannot silently break installs.
|
||||||
|
|
||||||
5. Optional: note on-hardware QA steps in `agent/HARDWARE-QUEUE.md`.
|
5. Optional: note on-hardware QA steps in `agent/HARDWARE-QUEUE.md`.
|
||||||
|
Install-tested status goes in the hall-of-fame table (§9).
|
||||||
|
|
||||||
## 10. Doctor and hardware health (current vs target)
|
## 11. Doctor and hardware health (current vs target)
|
||||||
|
|
||||||
**Today** (`nomarchy-doctor`): failed units, disk space, theme-state
|
**Today** (`nomarchy-doctor`): failed units, disk space, theme-state
|
||||||
validity/git, generation age, snapper; hardware section self-gates per
|
validity/git, generation age, snapper; hardware section self-gates per
|
||||||
@@ -395,7 +429,7 @@ fix command.
|
|||||||
| First-boot pre-activate | installer log present + no HM generation | `home-manager switch --flake ~/.nomarchy -b bak` |
|
| First-boot pre-activate | installer log present + no HM generation | `home-manager switch --flake ~/.nomarchy -b bak` |
|
||||||
| Hibernate / zram | disk swap + resume=; zram active | docs/MIGRATION.md → Enabling hibernation |
|
| Hibernate / zram | disk swap + resume=; zram active | docs/MIGRATION.md → Enabling hibernation |
|
||||||
|
|
||||||
## 11. Option quick reference
|
## 12. Option quick reference
|
||||||
|
|
||||||
Full tables: [README § options](../README.md). Hardware-shaped surface:
|
Full tables: [README § options](../README.md). Hardware-shaped surface:
|
||||||
|
|
||||||
@@ -413,7 +447,7 @@ Full tables: [README § options](../README.md). Hardware-shaped surface:
|
|||||||
| `nomarchy.system.bluetooth.enable` | BT stack |
|
| `nomarchy.system.bluetooth.enable` | BT stack |
|
||||||
| `services.fwupd.enable` | LVFS (native NixOS, default on) |
|
| `services.fwupd.enable` | LVFS (native NixOS, default on) |
|
||||||
|
|
||||||
## 12. Ease summary
|
## 13. Ease summary
|
||||||
|
|
||||||
| Situation | Effort |
|
| Situation | Effort |
|
||||||
|-----------|--------|
|
|-----------|--------|
|
||||||
@@ -425,7 +459,7 @@ Full tables: [README § options](../README.md). Hardware-shaped surface:
|
|||||||
| ROCm / NPU userspace | High — opt-in + expert |
|
| ROCm / NPU userspace | High — opt-in + expert |
|
||||||
| Contribute a new DMI line | Medium for someone who can PR |
|
| Contribute a new DMI line | Medium for someone who can PR |
|
||||||
|
|
||||||
## 13. Related files
|
## 14. Related files
|
||||||
|
|
||||||
| Path | Role |
|
| Path | Role |
|
||||||
|------|------|
|
|------|------|
|
||||||
|
|||||||
@@ -386,6 +386,9 @@ Design/decision records and a running log of shipped work (items marked
|
|||||||
generation is present, doctor ✖ with
|
generation is present, doctor ✖ with
|
||||||
`home-manager switch --flake ~/.nomarchy -b bak`. Skips when log absent;
|
`home-manager switch --flake ~/.nomarchy -b bak`. Skips when log absent;
|
||||||
ok once a generation exists. `checks.doctor` covers both arms.
|
ok once a generation exists. `checks.doctor` covers both arms.
|
||||||
|
✓ **Hardware hall of fame (#85, `VISION § F`):** HARDWARE.md §9
|
||||||
|
install-tested table (T14s Gen 4, Latitude 5410/5310) + “send your DMI
|
||||||
|
line” PR invite; §10 points contributors at the table.
|
||||||
- ✓ **Hibernate double-unlock:** on resume from hibernate the LUKS
|
- ✓ **Hibernate double-unlock:** on resume from hibernate the LUKS
|
||||||
passphrase already gates the machine, but locking hyprlock before sleep
|
passphrase already gates the machine, but locking hyprlock before sleep
|
||||||
meant a second password. Fixed by *not locking* before an encrypted
|
meant a second password. Fixed by *not locking* before an encrypted
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ Reference: [HARDWARE.md](HARDWARE.md) §4–§5, §10.
|
|||||||
| Idea | Intent | Notes |
|
| Idea | Intent | Notes |
|
||||||
|------|--------|-------|
|
|------|--------|-------|
|
||||||
| **Omarchy migrant one-pager** ✓ | Bindings/theme/install map | ✓ shipped `docs/OMARCHY.md` (#78, 2026-07-10) |
|
| **Omarchy migrant one-pager** ✓ | Bindings/theme/install map | ✓ shipped `docs/OMARCHY.md` (#78, 2026-07-10) |
|
||||||
| **Hardware hall of fame** | Install-tested models; invite DMI PRs | Ties to HARDWARE.md §9 |
|
| **Hardware hall of fame** ✓ | Install-tested models; invite DMI PRs | ✓ shipped #85 — HARDWARE.md §9 table + DMI PR invite |
|
||||||
| **60s demo** | Live → install → theme → menu | Outside repo OK |
|
| **60s demo** | Live → install → theme → menu | Outside repo OK |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user