diff options
Diffstat (limited to 'nixos/doc/manual/development/assertions.xml')
-rw-r--r-- | nixos/doc/manual/development/assertions.xml | 64 |
1 files changed, 29 insertions, 35 deletions
diff --git a/nixos/doc/manual/development/assertions.xml b/nixos/doc/manual/development/assertions.xml index d3434e1f112e..17c38ffcc717 100644 --- a/nixos/doc/manual/development/assertions.xml +++ b/nixos/doc/manual/development/assertions.xml @@ -3,30 +3,29 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="sec-assertions"> + <title>Warnings and Assertions</title> -<title>Warnings and Assertions</title> + <para> + When configuration problems are detectable in a module, it is a good idea to + write an assertion or warning. Doing so provides clear feedback to the user + and prevents errors after the build. + </para> -<para> - When configuration problems are detectable in a module, it is a good - idea to write an assertion or warning. Doing so provides clear - feedback to the user and prevents errors after the build. -</para> - -<para> + <para> Although Nix has the <literal>abort</literal> and - <literal>builtins.trace</literal> <link xlink:href="https://nixos.org/nix/manual/#ssec-builtins">functions</link> to perform such tasks, - they are not ideally suited for NixOS modules. Instead of these - functions, you can declare your warnings and assertions using the + <literal>builtins.trace</literal> + <link xlink:href="https://nixos.org/nix/manual/#ssec-builtins">functions</link> + to perform such tasks, they are not ideally suited for NixOS modules. Instead + of these functions, you can declare your warnings and assertions using the NixOS module system. -</para> - -<section> + </para> -<title>Warnings</title> + <section> + <title>Warnings</title> -<para> - This is an example of using <literal>warnings</literal>. -</para> + <para> + This is an example of using <literal>warnings</literal>. + </para> <programlisting> <![CDATA[ @@ -43,22 +42,19 @@ } ]]> </programlisting> + </section> -</section> - -<section> - -<title>Assertions</title> + <section> + <title>Assertions</title> - -<para> - This example, extracted from the - <link xlink:href="https://github.com/NixOS/nixpkgs/blob/release-17.09/nixos/modules/services/logging/syslogd.nix"> - <literal>syslogd</literal> module - </link> shows how to use <literal>assertions</literal>. Since there - can only be one active syslog daemon at a time, an assertion is useful to - prevent such a broken system from being built. -</para> + <para> + This example, extracted from the + <link xlink:href="https://github.com/NixOS/nixpkgs/blob/release-17.09/nixos/modules/services/logging/syslogd.nix"> + <literal>syslogd</literal> module </link> shows how to use + <literal>assertions</literal>. Since there can only be one active syslog + daemon at a time, an assertion is useful to prevent such a broken system + from being built. + </para> <programlisting> <![CDATA[ @@ -74,7 +70,5 @@ } ]]> </programlisting> - -</section> - + </section> </section> |