How to Contribute

This guide explains how you can contribute to Nix, Nix packages or NixOS.

Report an issue

We can only fix issues that we know of, so please report any issue you encounter.

Issues with the package manager Nix (including it's documentation) are reported at https://github.com/NixOS/nix/issues.

Issues with specific packages or NixOS (including it's modules and documentation) are reported at https://github.com/NixOS/nixpkgs/issues.

Make sure that there is not already an open issue for your problem. Please follow the issue template and fill in all requested information as they help us solve the problem.

You need a GitHub account for that.

Contribute to Nix

The package manager Nix is mostly written in C++. If you are a developer and want to contribute to it's development, you can find information on how to setup a development environment in the manual.

You can find inspiration for things to improve in the reported issues. There are also some issues tagged with easy that are a good start for new contributors.

Feel free to join the #nixos-dev IRC channel on Freenode to get in contact with other developers.

Contribute to Nix packages

Packaging for Nix is simple when you have understood the basic concept.

The manual explains step-by-step how to add new packages to the Nix package collection. There are also programming language specific instructions.

Contribute to NixOS

It’s pretty easy to contribute to NixOS compared to other linux distributions. All the code is on GitHub in the repository nixpkgs. Everyone can propose an improvement and most of them get merged after a review of the maintainers. You will get feedback in the pull request.

See the NixOS manual to get started and find all the details.

You can find inspiration for things to improve in the reported issues. There are also issues tagged with good-first-bug that are a good start for new contributors.

Feel free to join the #nixos-dev IRC channel on Freenode to get in contact with other developers.

Contribute to Documentation

The manuals are currently written in DocBook. There are efforts to switch to a simpler markup language.

You find the documentation of Nix in it's repository.

There are instructions on how to contribute in the nixpkgs manual itself.

The NixOS manual also contains a chapter about writing documentation. It contains instructions for converting Markdown to DocBook.

Contribute to this Website

The website has a simple structure and is mostly HTML with Bootstrap.

The source code is on GitHub. You find the build instructions in it's readme.

Feel free to get in contact with the marketing team and consider joining the effort in improving the presentation on the website.

Join a Team

There are several teams of people from the community that work on a specific aspect of the NixOS ecosystem.

If you are interested in working with them, you find all teams and contact information on the governance page.