How to Contribute

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


Please also consider contributing documentation.

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 its documentation) are reported at

Issues with specific packages or NixOS (including its modules and documentation) are reported at

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 want to contribute to its development, you can find information on how to setup a development environment in the manual.

You can find inspiration for things to improve on the issue tracker.

Feel free to join our community to get in contact with other developers.

Contribute to Nixpkgs

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

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

You can find inspiration for things to improve in the reported issues.

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 our community of developers!