i3: other modules' lines are contributions to node-display-session (hq ADR 0212) #47

Merged
mesh-admin merged 1 commits from feat/i3-fragments-as-contributions into main 2026-10-05 08:11:46 +00:00
Contributor

This is ADR 0212 step 2 for the window manager.

  • i3 places ${contribution:node-display-session:config} near the end of its config. config.d stays, read last, and is now the operator's alone.
  • rofi, clipmenu, feh, i3status-rust and asus-zephyrus-g14 no longer write files into config.d. They contribute the same lines, sourced from their files/i3/ where they had one. Each now depends on node-display-session.
  • zephyrus_keys reads its own section of i3's config: from # asus-zephyrus-g14 to the next module line or section header.
  • The catalogue-wide i3 test composes every contribution as the controller does and runs i3 -C over the result. It also no longer reads the developer's own config.d; the include line appears inside a contribution's comment, which fooled the old replacement.

All six modules' tests pass, and module check passes all 104 manifests.

Rollout (per node: g14, then shanks): build the six modules, then push that node. The host removes the old mesh-written fragments, but gives back the originals it kept of 10-asus.conf and 20-g14.conf on g14. Those must be moved aside straight after the push, or every binding doubles and i3's watcher refuses to reload.

This is ADR 0212 step 2 for the window manager. - **i3** places `${contribution:node-display-session:config}` near the end of its config. `config.d` stays, read last, and is now the operator's alone. - **rofi, clipmenu, feh, i3status-rust and asus-zephyrus-g14** no longer write files into `config.d`. They contribute the same lines, sourced from their `files/i3/` where they had one. Each now depends on `node-display-session`. - **`zephyrus_keys`** reads its own section of i3's config: from `# asus-zephyrus-g14` to the next module line or section header. - **The catalogue-wide i3 test** composes every contribution as the controller does and runs `i3 -C` over the result. It also no longer reads the developer's own `config.d`; the include line appears inside a contribution's comment, which fooled the old replacement. All six modules' tests pass, and `module check` passes all 104 manifests. **Rollout** (per node: g14, then shanks): build the six modules, then push that node. The host removes the old mesh-written fragments, but gives back the originals it kept of `10-asus.conf` and `20-g14.conf` on g14. Those must be moved aside straight after the push, or every binding doubles and i3's watcher refuses to reload.
mesh-admin added 1 commit 2026-10-05 08:11:37 +00:00
rofi, clipmenu, feh, i3status-rust and the laptop's model module wrote files into i3's config.d,
naming no dependency on the window manager. They now contribute their lines; i3 places them under a
line naming each module, and config.d is the operator's alone. The catalogue-wide test composes the
contributions as the controller does and checks the whole with i3 -C.
mesh-admin merged commit 4224ac7252 into main 2026-10-05 08:11:46 +00:00
mesh-admin deleted branch feat/i3-fragments-as-contributions 2026-10-05 08:11:46 +00:00
Author
Contributor

Delivery novox/mesh-catalog@4224ac725270 — held since 2026-10-06T23:05:28Z

Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.

Delivery plan — builds asus-zephyrus-g14, clipmenu, feh, i3, i3status-rust, rofi → g14, shanks; no bus step

  • tier 0: asus-zephyrus-g14, clipmenu, feh, i3, i3status-rust, rofi
  • g14: receives asus-zephyrus-g14, clipmenu, feh, i3, i3status-rust, rofi
  • shanks: receives clipmenu, feh, i3, i3status-rust, rofi

Transitions

  • 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#47 merged; its head was not heard by this owner, so it is made from the forge's word
  • 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@4224ac725270` — **held** since 2026-10-06T23:05:28Z Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on. **Delivery plan** — builds asus-zephyrus-g14, clipmenu, feh, i3, i3status-rust, rofi → g14, shanks; no bus step - tier 0: asus-zephyrus-g14, clipmenu, feh, i3, i3status-rust, rofi - g14: receives asus-zephyrus-g14, clipmenu, feh, i3, i3status-rust, rofi - shanks: receives clipmenu, feh, i3, i3status-rust, rofi **Transitions** - 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#47 merged; its head was not heard by this owner, so it is made from the forge's word - 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#47