NixOS Wiki:Contributing

From NixOS Wiki
Revision as of 10:39, 30 August 2017 by imported>Ixxie (Moved the style section from the Discussion metapage.)

Spirit of the Wiki

The NixOS User Wiki is a community effort, meant to be complementary to the manuals rather than a replacement for them. The following properties distinguish the spirit of the Wiki from that of the official documentation:

  1. Ecosystemic: the manuals cover specific software (Nix, NixOS, etc.) while the wiki covers the Nix ecosystem as a whole, helping the user understand the interrelations more clearly.
  2. Heterogeneous: the manuals normally give one canonical approach to something, the wiki has the potential to reveal the more diverse approaches and workflows used in practice.
  3. Pragmatic: the manuals are intended for comprehensive and detailed reference, while the wiki could emphasize practical and learning resources such as guides, tutorials and cookbooks.
  4. Networked: the manuals are sequential with one chapter following another while the wiki is networked, with various articles linked to one another in various ways, allowing the user to reach information in multiple ways.
  5. Community: the manuals cover the more official and stable core of the Nix ecosystem, while the wiki can cover the whole Nix community with its diverse projects and communication channels.

Style

Language

Discussion articles should be written in clear, standard and professional language. To this end, the following considerations apply:

  • Vocabulary: use the simplest and most conventional words and expressions you can find to get your point across without oversimplifying.
  • Organization: keep your text structured in coherent sentences, paragraphs and sections, each with its own clear themes and topics.
  • Citations: citations aren't required, but definitely appreciated; when citing code, hardlink to a particular revision.
  • Attribution: where external material is quoted or utilized in the article, and/or licensing or common sense demands it, place clear and complete attribution and (where possible) a link.
  • Code: code examples should be cogent and illustrative of the surrounding text (otherwise they would normally go in one of the other article types).

Tagging Articles

The mediawiki provides a way to tag articles at the end of the article. We are using this feature to somewhat structure the wiki.

Ecosystem Tags

Elements of the Nix Ecosystem should be tagged by one or more of the following categories:

  • [[Category:NixOS]]
    • Articles related to the Nix Operating System, the Module System and the System Configuration
  • [[Category:Nix]]
    • Articles about Using the Nix Tools to acomplish great things
  • [[Category:Nixpkgs]]
    • Articles about Maintaining code in the nixpkgs repository, structuring, and so on
  • [[Category:Nix Language]]
    • Description of Language Quirks and Solutions
  • [[Category:NixOps]]
  • [[Category:Hydra]]
    • Continuous Integration related Documentation
  • [[Category:Disnix]]
    • PaaS based on nix

Resource Tags

The type of documentation for new pages should be tagged with one of the following categories:

  • [[Category:Tutorial]]
    • is learning-oriented
    • allows the newcomer to get started
    • is a lesson
  • [[Category:Discussion]]
    • is understanding-oriented
    • explains
    • provides background and context
  • [[Category:Guide]]
    • is goal-oriented
    • how-to's for dealing with a specific problem / tool
    • is a series of steps
  • [[Category:Cookbook]]
    • is recipe orientated
    • a collection of short code snippets and hacks
    • arranged around a theme or tool
  • [[Category:Reference]]
    • is information-oriented
    • describes the machinery
    • is accurate and complete
    • Most of the time the nixos-wiki will not contain reference documents

References