summary refs log tree commit diff
path: root/nixos/doc/manual/from_md/configuration/config-syntax.chapter.xml
blob: baf9639554cc2b62562962acda1dbcc0359e9c86 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<chapter xmlns="http://docbook.org/ns/docbook"  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="sec-configuration-syntax">
  <title>Configuration Syntax</title>
  <para>
    The NixOS configuration file
    <literal>/etc/nixos/configuration.nix</literal> is actually a
    <emphasis>Nix expression</emphasis>, which is the Nix package
    manager’s purely functional language for describing how to build
    packages and configurations. This means you have all the expressive
    power of that language at your disposal, including the ability to
    abstract over common patterns, which is very useful when managing
    complex systems. The syntax and semantics of the Nix language are
    fully described in the
    <link xlink:href="https://nixos.org/nix/manual/#chap-writing-nix-expressions">Nix
    manual</link>, but here we give a short overview of the most
    important constructs useful in NixOS configuration files.
  </para>
  <xi:include href="config-file.section.xml" />
  <xi:include href="abstractions.section.xml" />
  <xi:include href="modularity.section.xml" />
</chapter>