Conventions¶
Rules for growing this wiki. Subject articles stay stubs until a dedicated content pass.
Layout¶
- Top-level dirs are domains, numbered for reading order (
00-…16-). - Cross-cutting material sits at the root:
glossary.md,comparisons/,cheatsheets/,meta/. - Each leaf topic is one
.mdfile. Related topics share a folder with a shortREADME.md. 16-configuration-examples/holds worked, multi-file config walkthroughs that compose teaching pages from00–15. Tiny parseable.nixfixtures stay under examples/—do not duplicate that corpus as a second fixture tree.
Stub style¶
Every unfinished topic file should look like:
- Frontmatter
status: stubuntil real prose exists; then usestatus: draftorstatus: complete. - Folder
README.mdfiles are indexes, not articles: usestatus: index(notstub/draft/complete). One-line purpose plus a Contents list of children (title + one-line purpose). No deep teaching in READMEs. - Optional
## See alsowith relative links only. - Empty outline headings are fine; do not invent tutorial body in the structure phase.
- Allowed
statusvalues:stub,draft,complete,index,active(meta process docs),superseded(retired meta docs).
Naming¶
- Prefer kebab-case filenames:
fixed-output-derivation.md. - Match CLI or option names when the file is about a specific tool:
nix-env.md,mkIf-mkMerge-mkOrder.md. - Keep concept docs (
02-concepts/flake.md) separate from deep dives (07-flakes/).
Linking¶
- Use relative Markdown links between sibling and cousin topics (path includes
.md). Do not use[[wikilinks]]. - Always include the
.mdextension in wiki targets. Link a folder via itsREADME.md, not a bare directory URL. - Avoid absolute URLs in stubs; add them in the content phase and record canonical sources in sources.md.
- Prefer linking to a domain
README.mdwhen pointing at a whole area. - Several notes share basenames (
README.md, twonix-darwin.mdfiles). Relative paths keep links unambiguous on Git forges and the published site.
Publishing¶
- GitHub Pages via MkDocs Material: root mkdocs.yml, deps requirements-docs.txt, stage script prepare-docs-dir.sh, notes site.md.
- Keep writing in plain Markdown with relative
.mdlinks; do not structure articles for a theme. - Do not vendor a second copy of the tree under
docs/.
What does not belong¶
- Scraped or mirrored upstream manuals.
- Extra site generators alongside MkDocs (unless replacing it deliberately).
- Long explanatory prose invented without a research pack (fill stubs in dedicated passes).
Research and coverage¶
- Filling stubs: follow research-method.md (pack → write → verify).
- Track gaps and week order in todo-coverage.md.
- Cite upstream from sources.md.