at 16.09-beta 1.7 kB view raw
1<section xmlns="http://docbook.org/ns/docbook" 2 xmlns:xlink="http://www.w3.org/1999/xlink" 3 xmlns:xi="http://www.w3.org/2001/XInclude" 4 version="5.0" 5 xml:id="sec-meta-attributes"> 6 7<title>Meta Attributes</title> 8 9<para>Like Nix packages, NixOS modules can declare meta-attributes to provide 10 extra information. Module meta attributes are defined in the 11 <filename 12 xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/misc/meta.nix">meta.nix</filename> 13 special module.</para> 14 15<para><literal>meta</literal> is a top level attribute like 16 <literal>options</literal> and <literal>config</literal>. Available 17 meta-attributes are <literal>maintainers</literal> and 18 <literal>doc</literal>.</para> 19 20<para>Each of the meta-attributes must be defined at most once per module 21 file.</para> 22 23<programlisting> 24{ config, lib, pkgs, ... }: 25{ 26 options = { 27 ... 28 }; 29 30 config = { 31 ... 32 }; 33 34 meta = { 35 maintainers = with lib.maintainers; [ ericsagnes ]; <co 36 xml:id='modules-meta-1' /> 37 doc = ./default.xml; <co xml:id='modules-meta-2' /> 38 }; 39} 40</programlisting> 41 42<calloutlist> 43 <callout arearefs='modules-meta-1'> 44 <para> 45 <varname>maintainers</varname> contains a list of the module maintainers. 46 </para> 47 </callout> 48 49 <callout arearefs='modules-meta-2'> 50 <para> 51 <varname>doc</varname> points to a valid DocBook file containing the module 52 documentation. Its contents is automatically added to <xref 53 linkend="ch-configuration"/>. 54 Changes to a module documentation have to be checked to not break 55 building the NixOS manual: 56 </para> 57 <programlisting>$ nix-build nixos/release.nix -A manual</programlisting> 58 </callout> 59 60</calloutlist> 61 62</section>