docs(architecture): record key design decisions as ADRs #22

Merged
rutger.putter merged 2 commits from bram.buijs/DAWO-NixOS:feat/adr-architecture into main 2026-06-22 08:33:08 +00:00
Collaborator

References #1.

Adds an Architecture Decision Records section to architecture.md, capturing the
decisions behind this series so the reasoning lives next to the code. Short
records, newest on top, each with context / decision / consequence:

  • ADR-0001 blocks architecture: core flake plus consumer inputs (#6, #8).
  • ADR-0002 mkForce for mandatory, mkDefault for suggested, no undefined options
    (#8).
  • ADR-0003 repo split: shared blocks plus per-organisation consumers (#8).
  • ADR-0004 pin nixpkgs to a stable release, with an unstable overlay (#11).
  • ADR-0005 BTRFS as the standard disk layout (#14).
  • ADR-0006 track lanzaboote from master.

Question: ADRs inline in architecture.md as here, or a separate docs/adr/
tree? And does #1 cover this, or should it hang off a small docs issue instead?

References #1. Adds an Architecture Decision Records section to `architecture.md`, capturing the decisions behind this series so the reasoning lives next to the code. Short records, newest on top, each with context / decision / consequence: - ADR-0001 blocks architecture: core flake plus consumer inputs (#6, #8). - ADR-0002 mkForce for mandatory, mkDefault for suggested, no undefined options (#8). - ADR-0003 repo split: shared blocks plus per-organisation consumers (#8). - ADR-0004 pin nixpkgs to a stable release, with an unstable overlay (#11). - ADR-0005 BTRFS as the standard disk layout (#14). - ADR-0006 track lanzaboote from master. Question: ADRs inline in `architecture.md` as here, or a separate `docs/adr/` tree? And does #1 cover this, or should it hang off a small docs issue instead?
Add an Architecture Decision Records section to architecture.md: blocks
architecture and the core/consumer split, mkForce-mandatory vs mkDefault-suggested
with build-time asserts, the per-organisation repo split, the nixpkgs pin plus
unstable overlay, BTRFS as the standard disk layout, and tracking lanzaboote from
master. Short records, newest on top.

Ref: #1

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
architecture.md Outdated
@ -21,0 +109,4 @@
- Context: lanzaboote v1.0.0 sets `boot.bootspec.enable`, which nixpkgs 26.05
removed, so the pinned tag fails to evaluate on the current nixpkgs.
- Decision: track lanzaboote from master until a tagged release is compatible.
- Consequence: Secure Boot hosts evaluate again; revisit when a new tag lands.
Collaborator

Let's create an open issue to track this periodically.

Let's create an open issue to track this periodically.
rutger.putter marked this conversation as resolved
Collaborator

LGTM 👌please open the requested tracking issue and I'll merge.

LGTM 👌please open the requested tracking issue and I'll merge.
bram.buijs force-pushed feat/adr-architecture from 95932430ed to da482eef1f 2026-06-18 13:21:54 +00:00 Compare
Author
Collaborator

Opened the tracking issue: #28. It captures the ADR home/upkeep and the inline-vs-docs/adr/ question, split off from #1 as you asked. Good to merge whenever you are.

Opened the tracking issue: #28. It captures the ADR home/upkeep and the inline-vs-`docs/adr/` question, split off from #1 as you asked. Good to merge whenever you are.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
MinBZK/DAWO-NixOS!22
No description provided.