Get In Touch: Difference between revisions
imported>Ixxie m Fixed section capitalization. |
imported>Fadenb m →Becoming a Nixpkgs Maintainer: syntaxhighlight |
||
Line 21: | Line 21: | ||
Everybody can become a package maintainer by adding to <code>maintainers</code> attribute in the meta section of a package. First add your nick handle (preferable your GitHub username) to [https://github.com/NixOS/nixpkgs/blob/master/lib/maintainers.nix#L3 lib/maintainer.nix] and reference the said handle within the package: | Everybody can become a package maintainer by adding to <code>maintainers</code> attribute in the meta section of a package. First add your nick handle (preferable your GitHub username) to [https://github.com/NixOS/nixpkgs/blob/master/lib/maintainers.nix#L3 lib/maintainer.nix] and reference the said handle within the package: | ||
< | <syntaxhighlight lang="nix">{ stdenv, fetchurl }: | ||
stdenv.mkDerivation rec { | stdenv.mkDerivation rec { | ||
name = | name = "hello-2.10"; | ||
# .... | # .... | ||
meta = with stdenv.lib; { | meta = with stdenv.lib; { | ||
Line 30: | Line 30: | ||
platforms = platforms.all; | platforms = platforms.all; | ||
}; | }; | ||
}</ | }</syntaxhighlight> | ||
There can be multiple maintainers per package. Maintainers will receive emails from [[Hydra|Hydra]] when package builds enters a failed state. They do not have special privileges as everybody can suggest updates and modifications to any package. However they might be consulted by NixOS members for testing and as a domain experts, when somebody else make a change to a package. | There can be multiple maintainers per package. Maintainers will receive emails from [[Hydra|Hydra]] when package builds enters a failed state. They do not have special privileges as everybody can suggest updates and modifications to any package. However they might be consulted by NixOS members for testing and as a domain experts, when somebody else make a change to a package. | ||
Revision as of 18:24, 23 August 2017
This article describes how you can get involved in the NixOS ecosystem. Besides this wiki entry there is also the official Community Information Website of NixOS.
Working on the Nixpkgs Repository
Development in NixOS primarily driven by the work in nixpkgs on github. This repository contains both all packages available in your NixOS channel and all the options you can use for configuring your system with your configuration.nix
. To get your text editor to recognize Nix expressions, consider installing a Nix editor mode.
Report Issues
Any issue can be reported in the nixpkgs issue-tracker on github. Keep in mind that all work on nixpkgs is being done by volunteers and you cannot expect a quick response and solution for all problems you may face. In general Pull-Requests have a much shorter round-trip-time.
Create Pull Requests
If you want to see your package being provided by a channel, creating an issue will most likely not enough. It is up to you to create a nix package description in nixpkgs and create a pull request in the nixpkgs repository.
Becoming a Nixpkgs Maintainer
There are two types of maintainer: Members of the NixOS organization and package/module maintainer.
Members of the NixOS organization have direct access to the nixpkgs and can therefor can merge pull requests.
Everybody can become a package maintainer by adding to maintainers
attribute in the meta section of a package. First add your nick handle (preferable your GitHub username) to lib/maintainer.nix and reference the said handle within the package:
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "hello-2.10";
# ....
meta = with stdenv.lib; {
# ...
maintainers = with maintainers; [ eelco your-nick ]; # replace your-nick with your real nick
platforms = platforms.all;
};
}
There can be multiple maintainers per package. Maintainers will receive emails from Hydra when package builds enters a failed state. They do not have special privileges as everybody can suggest updates and modifications to any package. However they might be consulted by NixOS members for testing and as a domain experts, when somebody else make a change to a package.
Communication
Join the mailinglist
There is currently only one official Mailinglist related to NixOS, nix-devel. You don't need to be a developer to use nix-devel.
Join the chat
The official NixOS channel resides on irc.freenode.org in #nixos
(searchable Log).
In addition to that there is also the unofficial NixOS matrix channel
Join the forums
Check out the NixOS Reddit channel and help answering questions on Stack Overflow for NixOS and nix.