nix.dev/maintainers/information-flow.md

54 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

# Information flow in the Nix ecosystem
The diagram shows a simplified model of the information flow in the Nix ecosystem.
Its purpose is to make dependencies of the documentation types more explicit.
Note that it does not show issues and pull requests on GitHub, which host a wealth of ephemeral information.
Nodes are places or resources, edges denote an "informed by" relation, and edge labels are units of information.
Read the example as "A is informed by X and placed in Y":
```mermaid
flowchart LR
X --> |A| Y
```
Information resources communication platforms are distinguished by mode of interaction:
*Streams* can be appended to:
- The amount of information in them grows without bounds.
- Only recent items are relevant.
*Artifacts* can be changed:
- The amount of information in them is strictly bounded.
- All items should be up to date.
```mermaid
flowchart
Matrix --> |summary| Discourse
events[meetings and events] --> |meeting notes, report| Discourse
external[external sources] --> |link| Discourse
Discourse --> |draft| RFCs --> |implementation| code
RFCs --> |explanation| docs
code --> |reference| manuals --> |guide| docs[nix.dev]
Discourse --> |tutorial| docs
subgraph stream
Matrix
events
external
Discourse
RFCs
end
subgraph artifact
code
manuals
docs
end
```
Arrows point roughly towards
- decreasing rate of change
- increasing public visibility