NixOS Wiki:Contributing

From NixOS Wiki
Revision as of 19:36, 2 September 2024 by Klinger (talk | contribs) (→‎Style: this part is in MoS now.)

This article is a guide to contributing to the Wiki. Contributors are encouraged to write new articles or modify existing ones as they see fit, but it is appreciated and encouraged to follow the recommendations of this guide as for as possible whenever they are applicable.

Spirit of the Wiki

The NixOS Wiki is a user community effort, meant to be complementary to the NixOS reference manual rather than a replacement for it. The following properties distinguish the spirit of the Wiki from reference documentation:

Ecosystemic
The manuals cover the interfaces and mechanisms of specific components (Nix, Nixpkgs, NixOS, etc.) while the Wiki covers the Nix ecosystem as a whole and focuses on NixOS as a point of integration.
Heterogeneous
The reference manuals merely present all interfaces factually. The Wiki has the potential to reveal the more diverse or opinionated approaches and workflows used in practice.
Pragmatic
The reference manuals are intended for comprehensive and detailed reference, while the Wiki emphasizes practical resources such as guides, examples, and troubleshooting tips.
User community
The reference manuals cover mechanisms and inner workings, which are mainly important for developers and contributors. The Wiki is oriented around the broad spectrum of real-world use cases.

Finding stuff to do

The following are ways to find out (or let people know) what needs to be done:

  • Use the Wiki Projects page to list or join a project and the Wiki Issues page to raise issues and find stuff to do.
  • Help improve flagged articles in the appropriate way.
  • Flag articles if you find something missing, incorrect or out-of-date using templates.
  • Update outdated articles.
  • Fill out missing articles, and missing sections in any article.
  • Write tutorials and guides to help ease pain-points for beginners.

Who Can Contribute?

The NixOS wiki is open for anyone with an account to contribute in the ways listed above. However, wiki moderators have the final say on what can or cannot be on the wiki. For any questions or concerns, the moderation can be contacted through the NixOS wiki matrix room.

Workgroups

Workgroups are interest groups of people working on the same topic in the nix* ecosystem.

Tagging articles

The MediaWiki provides a way to tag articles (at the end of the article). We are using this feature to 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 accomplish 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:Hydra]]
Articles about Hydra continuous Integration related documentation.
[[Category:Application]]
Extended Ecosystem: Articles about other Nix-based or Nix-related applications.

Topic tags

Almost all content of the wiki can be accessed with 2 to 3 clicks via one of these topic categories:

[[Category:Software]]
Articles about software applications like neovim or libreoffice
[[Category:Hardware]]
Articles about hardware like GPU, keyboards and notebooks.
[[Category:Desktop]]
Articles about using NixOS on a PC (e.g. desktop environments)
[[Category:Server]]
Articles about using NixOS on servers, like running web applications (e.g. Nextcloud)
[[Category:Community]]
Articles about the Nix(OS) community and how to engage and contribute.

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