Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nixos-manual-combined fails #254

Closed
flokli opened this issue May 1, 2018 · 6 comments
Closed

nixos-manual-combined fails #254

flokli opened this issue May 1, 2018 · 6 comments

Comments

@flokli
Copy link
Contributor

flokli commented May 1, 2018

Currently, home-manager switch fails for me during creation of /nix/store/wx071hpzwxs22b382f3yrqx1v2p4ai6l-nixos-manual-combined.drv

with a lot of

element xref: validity error : IDREF attribute linkend references an unknown ID "foo"

errors:

I worked this around by setting

manual.manpages.enable = false;

in ~/.config/nixpkgs/home.nix.

`home-manager -I nixpkgs=$nixpkgs_dir switch`

these derivations will be built:
  /nix/store/wx071hpzwxs22b382f3yrqx1v2p4ai6l-nixos-manual-combined.drv
  /nix/store/nnnpdzk650pxs54db7cnyqxv0fc0221g-manual-olinkdb.drv
  /nix/store/qahlw40w6ysf5nq27af12v0gmxi8xmq6-nixos-manpages.drv
  /nix/store/5gy6h3sgj6nwajp72d5lkksnjahy1ljw-home-environment-manpages.drv
  /nix/store/gi89iw2zrw4djrc8cnhgqys56agiha15-home-manager-path.drv
  /nix/store/j43aqg7y35da98cr4wiyhxrvi0d9saff-activation-script.drv
  /nix/store/jp2sxpsx36sgwrvjif4bsiyr8vcs6nds-home-manager-generation.drv
building '/nix/store/wx071hpzwxs22b382f3yrqx1v2p4ai6l-nixos-manual-combined.drv'...

manual-combined.xml:2409: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.windowManager.xmonad.enable"
  2405  <programlisting>
  2406  <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;
  2407  <xref linkend="opt-services.xserver.desktopManager.xfce.enable"/> = true;
  2408  <xref linkend="opt-services.xserver.desktopManager.gnome3.enable"/> = true;
  2409  <xref linkend="opt-services.xserver.windowManager.xmonad.enable"/> = true;
  2410  <xref linkend="opt-services.xserver.windowManager.twm.enable"/> = true;
  2411  <xref linkend="opt-services.xserver.windowManager.icewm.enable"/> = true;

manual-combined.xml:1622: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.desktopManager.plasma5.enable"
  1618  { config, pkgs, ... }:
  1619
  1620  { <xref linkend="opt-services.xserver.enable"/> = true;
  1621    <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
  1622    <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;
  1623  }
  1624  </programlisting>

manual-combined.xml:2406: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.desktopManager.plasma5.enable"
  2402  Otherwise, you can only log into a plain undecorated
  2403  <command>xterm</command> window.  Thus you should pick one or more of
  2404  the following lines:
  2405  <programlisting>
  2406  <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;
  2407  <xref linkend="opt-services.xserver.desktopManager.xfce.enable"/> = true;
  2408  <xref linkend="opt-services.xserver.desktopManager.gnome3.enable"/> = true;

manual-combined.xml:2422: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.displayManager.lightdm.enable"
  2418  server) is SLiM. You can select an alternative one by picking one
  2419  of the following lines:
  2420  <programlisting>
  2421  <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
  2422  <xref linkend="opt-services.xserver.displayManager.lightdm.enable"/> = true;
  2423  </programlisting>
  2424  </para>

manual-combined.xml:2496: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.libinput.enable"
  2492
  2493  <para>Support for Synaptics touchpads (found in many laptops such as
  2494  the Dell Latitude series) can be enabled as follows:
  2495  <programlisting>
  2496  <xref linkend="opt-services.xserver.libinput.enable"/> = true;
  2497  </programlisting>
  2498  The driver has many options (see <xref linkend="ch-options"/>).  For

manual-combined.xml:1335: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.firewall.enable"
  1331        <para>These can be <literal>true</literal> or
  1332        <literal>false</literal>, e.g.
  1333
  1334  <programlisting>
  1335  <xref linkend="opt-networking.firewall.enable"/> = true;
  1336  <xref linkend="opt-networking.firewall.allowPing"/> = false;
  1337  </programlisting>

manual-combined.xml:2779: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.firewall.enable"
  2775  both IPv4 and IPv6 traffic. It is enabled by default. It can be
  2776  disabled as follows:
  2777
  2778  <programlisting>
  2779  <xref linkend="opt-networking.firewall.enable"/> = false;
  2780  </programlisting>
  2781

manual-combined.xml:2411: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.windowManager.icewm.enable"
  2407  <xref linkend="opt-services.xserver.desktopManager.xfce.enable"/> = true;
  2408  <xref linkend="opt-services.xserver.desktopManager.gnome3.enable"/> = true;
  2409  <xref linkend="opt-services.xserver.windowManager.xmonad.enable"/> = true;
  2410  <xref linkend="opt-services.xserver.windowManager.twm.enable"/> = true;
  2411  <xref linkend="opt-services.xserver.windowManager.icewm.enable"/> = true;
  2412  <xref linkend="opt-services.xserver.windowManager.i3.enable"/> = true;
  2413  </programlisting>

manual-combined.xml:1336: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.firewall.allowPing"
  1332        <literal>false</literal>, e.g.
  1333
  1334  <programlisting>
  1335  <xref linkend="opt-networking.firewall.enable"/> = true;
  1336  <xref linkend="opt-networking.firewall.allowPing"/> = false;
  1337  </programlisting>
  1338        </para>

manual-combined.xml:2809: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.firewall.allowPing"
  2805
  2806  <para>Also of interest is
  2807
  2808  <programlisting>
  2809  <xref linkend="opt-networking.firewall.allowPing"/> = true;
  2810  </programlisting>
  2811

manual-combined.xml:1405: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  1401        Packages collection, which is a set that can be accessed through
  1402        the function argument <varname>pkgs</varname>.  Typical uses:
  1403
  1404  <programlisting>
  1405  <xref linkend="opt-environment.systemPackages"/> =
  1406    [ pkgs.thunderbird
  1407      pkgs.emacs

manual-combined.xml:1608: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  1604  { config, pkgs, ... }:
  1605
  1606  { imports = [ ./vpn.nix ./kde.nix ];
  1607    <xref linkend="opt-services.httpd.enable"/> = true;
  1608    <xref linkend="opt-environment.systemPackages"/> = [ pkgs.emacs ];
  1609    <replaceable>...</replaceable>
  1610  }

manual-combined.xml:1628: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  1624  </programlisting>
  1625
  1626  Note that both <filename>configuration.nix</filename> and
  1627  <filename>kde.nix</filename> define the option
  1628  <xref linkend="opt-environment.systemPackages"/>.  When multiple modules
  1629  define an option, NixOS will try to <emphasis>merge</emphasis> the
  1630  definitions.  In the case of

manual-combined.xml:1631: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  1627  <filename>kde.nix</filename> define the option
  1628  <xref linkend="opt-environment.systemPackages"/>.  When multiple modules
  1629  define an option, NixOS will try to <emphasis>merge</emphasis> the
  1630  definitions.  In the case of
  1631  <xref linkend="opt-environment.systemPackages"/>, that&#x2019;s easy: the lists of
  1632  packages can simply be concatenated.  The value in
  1633  <filename>configuration.nix</filename> is merged last, so for

manual-combined.xml:1674: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  1670  <emphasis>input</emphasis> to that same function: that&#x2019;s because Nix
  1671  is a &#x201C;lazy&#x201D; language &#x2014; it only computes values when they are needed.
  1672  This works as long as no individual configuration value depends on
  1673  itself.</para></footnote>.  For example, here is a module that adds
  1674  some packages to <xref linkend="opt-environment.systemPackages"/> only if
  1675  <xref linkend="opt-services.xserver.enable"/> is set to
  1676  <literal>true</literal> somewhere else:

manual-combined.xml:1681: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  1677
  1678  <programlisting>
  1679  { config, pkgs, ... }:
  1680
  1681  { <xref linkend="opt-environment.systemPackages"/> =
  1682      if config.<xref linkend="opt-services.xserver.enable"/> then
  1683        [ pkgs.firefox

manual-combined.xml:1944: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  1940  <title>Declarative Package Management</title>
  1941
  1942  <para>With declarative package management, you specify which packages
  1943  you want on your system by setting the option
  1944  <xref linkend="opt-environment.systemPackages"/>.  For instance, adding the
  1945  following line to <filename>configuration.nix</filename> enables the
  1946  Mozilla Thunderbird email application:

manual-combined.xml:1949: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  1945  following line to <filename>configuration.nix</filename> enables the
  1946  Mozilla Thunderbird email application:
  1947
  1948  <programlisting>
  1949  <xref linkend="opt-environment.systemPackages"/> = [ pkgs.thunderbird ];
  1950  </programlisting>
  1951

manual-combined.xml:1970: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  1966  <literal>nixos</literal> prefix allows distinguishing between
  1967  different channels that you might have.)</para>
  1968
  1969  <para>To &#x201C;uninstall&#x201D; a package, simply remove it from
  1970  <xref linkend="opt-environment.systemPackages"/> and run
  1971  <command>nixos-rebuild switch</command>.</para>
  1972

manual-combined.xml:1999: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  1995  has a dependency on GTK+ 2.  If you want to build it against GTK+ 3,
  1996  you can specify that as follows:
  1997
  1998  <programlisting>
  1999  <xref linkend="opt-environment.systemPackages"/> = [ (pkgs.emacs.override { gtk = pkgs.gtk3; }) ];
  2000  </programlisting>
  2001

manual-combined.xml:2009: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  2005  <varname>gtk</varname> gets the value <literal>pkgs.gtk3</literal>,
  2006  causing Emacs to depend on GTK+ 3.  (The parentheses are necessary
  2007  because in Nix, function application binds more weakly than list
  2008  construction, so without them,
  2009  <xref linkend="opt-environment.systemPackages"/> would be a list with two
  2010  elements.)</para>
  2011

manual-combined.xml:2022: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  2018  For instance, if you want to override the source code of Emacs, you
  2019  can say:
  2020
  2021  <programlisting>
  2022  <xref linkend="opt-environment.systemPackages"/> = [
  2023    (pkgs.emacs.overrideAttrs (oldAttrs: {
  2024      name = "emacs-25.0-pre";

manual-combined.xml:2083: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  2079  manual.  Finally, you add it to
  2080  <literal>environment.systemPackages</literal>, e.g.
  2081
  2082  <programlisting>
  2083  <xref linkend="opt-environment.systemPackages"/> = [ pkgs.my-package ];
  2084  </programlisting>
  2085

manual-combined.xml:2100: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  2096  <link xlink:href="http://www.gnu.org/software/hello/">GNU Hello</link>
  2097  package directly in <filename>configuration.nix</filename>:
  2098
  2099  <programlisting>
  2100  <xref linkend="opt-environment.systemPackages"/> =
  2101    let
  2102      my-hello = with pkgs; stdenv.mkDerivation rec {

manual-combined.xml:2116: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  2112
  2113  Of course, you can also move the definition of
  2114  <literal>my-hello</literal> into a separate Nix expression, e.g.
  2115  <programlisting>
  2116  <xref linkend="opt-environment.systemPackages"/> = [ (import ./my-hello.nix) ];
  2117  </programlisting>
  2118  where <filename>my-hello.nix</filename> contains:

manual-combined.xml:2550: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-environment.systemPackages"
  2546
  2547      <para>
  2548          Some Xfce programs are not installed automatically.
  2549          To install them manually (system wide), put them into your
  2550          <xref linkend="opt-environment.systemPackages"/>.
  2551      </para>
  2552

manual-combined.xml:2661: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.openssh.enable"
  2657  <para>Secure shell (SSH) access to your machine can be enabled by
  2658  setting:
  2659
  2660  <programlisting>
  2661  <xref linkend="opt-services.openssh.enable"/> = true;
  2662  </programlisting>
  2663

manual-combined.xml:2790: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.openssh.enable"
  2786  <xref linkend="opt-networking.firewall.allowedTCPPorts"/> = [ 80 443 ];
  2787  </programlisting>
  2788
  2789  Note that TCP port 22 (ssh) is opened automatically if the SSH daemon
  2790  is enabled (<option><xref linkend="opt-services.openssh.enable"/> = true</option>). UDP
  2791  ports can be opened through
  2792  <xref linkend="opt-networking.firewall.allowedUDPPorts"/>.</para>

manual-combined.xml:3389: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.openssh.enable"
  3385  <literal>root</literal>:
  3386
  3387  <screen>
  3388  # nixos-container create foo --config '
  3389    <xref linkend="opt-services.openssh.enable"/> = true;
  3390    <link linkend="opt-users.users._name__.openssh.authorizedKeys.keys">users.extraUsers.root.openssh.authorizedKeys.keys</link> = ["ssh-dss AAAAB3N&#x2026;"];
  3391  '

manual-combined.xml:1239: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.enable"
  1235
  1236  <programlisting>
  1237  { config, pkgs, ... }:
  1238
  1239  { <xref linkend="opt-services.httpd.enable"/> = true;
  1240    <xref linkend="opt-services.httpd.adminAddr"/> = "alice@example.org";
  1241    <xref linkend="opt-services.httpd.documentRoot"/> = "/webroot";

manual-combined.xml:1251: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.enable"
  1247  the document root.</para>
  1248
  1249  <para>Sets can be nested, and in fact dots in option names are
  1250  shorthand for defining a set containing another set.  For instance,
  1251  <xref linkend="opt-services.httpd.enable"/> defines a set named
  1252  <varname>services</varname> that contains a set named
  1253  <varname>httpd</varname>, which in turn contains an option definition

manual-combined.xml:1607: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.enable"
  1603  <programlisting>
  1604  { config, pkgs, ... }:
  1605
  1606  { imports = [ ./vpn.nix ./kde.nix ];
  1607    <xref linkend="opt-services.httpd.enable"/> = true;
  1608    <xref linkend="opt-environment.systemPackages"/> = [ pkgs.emacs ];
  1609    <replaceable>...</replaceable>

manual-combined.xml:3459: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.enable"
  3455  specify a new configuration on the command line:
  3456
  3457  <screen>
  3458  # nixos-container update foo --config '
  3459    <xref linkend="opt-services.httpd.enable"/> = true;
  3460    <xref linkend="opt-services.httpd.adminAddr"/> = "foo@example.org";
  3461    <xref linkend="opt-networking.firewall.allowedTCPPorts"/> = [ 80 ];

manual-combined.xml:2804: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.firewall.allowedUDPPortRanges"
  2800  ];
  2801  </programlisting>
  2802
  2803  Similarly, UDP port ranges can be opened through
  2804  <xref linkend="opt-networking.firewall.allowedUDPPortRanges"/>.</para>
  2805
  2806  <para>Also of interest is

manual-combined.xml:2219: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.openssh.authorizedKeys.keys"
  2215    <link linkend="opt-users.users._name__.isNormalUser">isNormalUser</link> = true;
  2216    <link linkend="opt-users.users._name__.home">home</link> = "/home/alice";
  2217    <link linkend="opt-users.users._name__.description">description</link> = "Alice Foobar";
  2218    <link linkend="opt-users.users._name__.extraGroups">extraGroups</link> = [ "wheel" "networkmanager" ];
  2219    <link linkend="opt-users.users._name__.openssh.authorizedKeys.keys">openssh.authorizedKeys.keys</link> = [ "ssh-dss AAAAB3Nza... alice@foobar" ];
  2220  };
  2221  </programlisting>

manual-combined.xml:2674: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.openssh.authorizedKeys.keys"
  2670  a user as follows:
  2671
  2672  <!-- FIXME: this might not work if the user is unmanaged. -->
  2673  <programlisting>
  2674  <link linkend="opt-users.users._name__.openssh.authorizedKeys.keys">users.extraUsers.alice.openssh.authorizedKeys.keys</link> =
  2675    [ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ];
  2676  </programlisting>

manual-combined.xml:3390: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.openssh.authorizedKeys.keys"
  3386
  3387  <screen>
  3388  # nixos-container create foo --config '
  3389    <xref linkend="opt-services.openssh.enable"/> = true;
  3390    <link linkend="opt-users.users._name__.openssh.authorizedKeys.keys">users.extraUsers.root.openssh.authorizedKeys.keys</link> = ["ssh-dss AAAAB3N&#x2026;"];
  3391  '
  3392  </screen>

manual-combined.xml:2216: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.home"
  2212
  2213  <programlisting>
  2214  <xref linkend="opt-users.users"/>.alice = {
  2215    <link linkend="opt-users.users._name__.isNormalUser">isNormalUser</link> = true;
  2216    <link linkend="opt-users.users._name__.home">home</link> = "/home/alice";
  2217    <link linkend="opt-users.users._name__.description">description</link> = "Alice Foobar";
  2218    <link linkend="opt-users.users._name__.extraGroups">extraGroups</link> = [ "wheel" "networkmanager" ];

manual-combined.xml:3584: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.nat.internalInterfaces"
  3580  on the host:
  3581
  3582  <programlisting>
  3583  <xref linkend="opt-networking.nat.enable"/> = true;
  3584  <xref linkend="opt-networking.nat.internalInterfaces"/> = ["ve-+"];
  3585  <xref linkend="opt-networking.nat.externalInterface"/> = "eth0";
  3586  </programlisting>

manual-combined.xml:2407: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.desktopManager.xfce.enable"
  2403  <command>xterm</command> window.  Thus you should pick one or more of
  2404  the following lines:
  2405  <programlisting>
  2406  <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;
  2407  <xref linkend="opt-services.xserver.desktopManager.xfce.enable"/> = true;
  2408  <xref linkend="opt-services.xserver.desktopManager.gnome3.enable"/> = true;
  2409  <xref linkend="opt-services.xserver.windowManager.xmonad.enable"/> = true;

manual-combined.xml:2527: element link: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.desktopManager.xfce.enable"
  2523      <para>
  2524          To enable the Xfce Desktop Environment, set
  2525          <programlisting>
  2526  <link linkend="opt-services.xserver.desktopManager.default">services.xserver.desktopManager</link> = {
  2527    <link linkend="opt-services.xserver.desktopManager.xfce.enable">xfce.enable</link> = true;
  2528    <link linkend="opt-services.xserver.desktopManager.default">default</link> = "xfce";
  2529  };

manual-combined.xml:2561: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.desktopManager.xfce.enable"
  2557              To enable
  2558              <emphasis>Thunar</emphasis>
  2559              volume support, put
  2560              <programlisting>
  2561  <xref linkend="opt-services.xserver.desktopManager.xfce.enable"/> = true;
  2562              </programlisting>
  2563              into your <emphasis>configuration.nix</emphasis>.

manual-combined.xml:3583: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.nat.enable"
  3579  IP address. This can be accomplished using the following configuration
  3580  on the host:
  3581
  3582  <programlisting>
  3583  <xref linkend="opt-networking.nat.enable"/> = true;
  3584  <xref linkend="opt-networking.nat.internalInterfaces"/> = ["ve-+"];
  3585  <xref linkend="opt-networking.nat.externalInterface"/> = "eth0";

manual-combined.xml:2408: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.desktopManager.gnome3.enable"
  2404  the following lines:
  2405  <programlisting>
  2406  <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;
  2407  <xref linkend="opt-services.xserver.desktopManager.xfce.enable"/> = true;
  2408  <xref linkend="opt-services.xserver.desktopManager.gnome3.enable"/> = true;
  2409  <xref linkend="opt-services.xserver.windowManager.xmonad.enable"/> = true;
  2410  <xref linkend="opt-services.xserver.windowManager.twm.enable"/> = true;

manual-combined.xml:2701: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.defaultGateway"
  2697  Typically you&#x2019;ll also want to set a default gateway and set of name
  2698  servers:
  2699
  2700  <programlisting>
  2701  <xref linkend="opt-networking.defaultGateway"/> = "192.168.1.1";
  2702  <xref linkend="opt-networking.nameservers"/> = [ "8.8.8.8" ];
  2703  </programlisting>

manual-combined.xml:821: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.initialHashedPassword"
   817                  account with <literal>sudo passwd -l root</literal> if you use
   818                  <literal>sudo</literal>)</para>
   819
   820                <programlisting>
   821  <link linkend="opt-users.users._name__.initialHashedPassword">users.extraUsers.root.initialHashedPassword</link> = "";
   822                </programlisting>
   823          </listitem>

manual-combined.xml:1023: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.initialHashedPassword"
  1019  have set <literal>mutableUsers = false</literal>.  Another way is to
  1020  temporarily add the following to your configuration:
  1021
  1022  <screen>
  1023  <link linkend="opt-users.users._name__.initialHashedPassword">users.extraUsers.your-user.initialHashedPassword</link> = "test";
  1024  </screen>
  1025

manual-combined.xml:1621: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.displayManager.sddm.enable"
  1617  <programlisting>
  1618  { config, pkgs, ... }:
  1619
  1620  { <xref linkend="opt-services.xserver.enable"/> = true;
  1621    <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
  1622    <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;
  1623  }

manual-combined.xml:2421: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.displayManager.sddm.enable"
  2417  program that provides a graphical login prompt and manages the X
  2418  server) is SLiM. You can select an alternative one by picking one
  2419  of the following lines:
  2420  <programlisting>
  2421  <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
  2422  <xref linkend="opt-services.xserver.displayManager.lightdm.enable"/> = true;
  2423  </programlisting>

manual-combined.xml:2376: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.loader.grub.enableCryptodisk"
  2372  </programlisting>
  2373
  2374  Should grub be used as bootloader, and <filename>/boot</filename> is located
  2375  on an encrypted partition, it is necessary to add the following grub option:
  2376  <programlisting><xref linkend="opt-boot.loader.grub.enableCryptodisk"/> = true;</programlisting>
  2377
  2378  </para>

manual-combined.xml:300: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.loader.grub.useOSProber"
   296      </variablelist>
   297
   298      <para>If there are other operating systems running on the machine before
   299      installing NixOS, the
   300      <xref linkend="opt-boot.loader.grub.useOSProber"/> option can be set to
   301      <literal>true</literal> to automatically add them to the grub menu.</para>
   302

manual-combined.xml:2792: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.firewall.allowedUDPPorts"
  2788
  2789  Note that TCP port 22 (ssh) is opened automatically if the SSH daemon
  2790  is enabled (<option><xref linkend="opt-services.openssh.enable"/> = true</option>). UDP
  2791  ports can be opened through
  2792  <xref linkend="opt-networking.firewall.allowedUDPPorts"/>.</para>
  2793
  2794  <para>To open ranges of TCP ports:

manual-combined.xml:2214: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-users.users"
  2210  <filename>configuration.nix</filename>.  For instance, the following
  2211  states that a user account named <literal>alice</literal> shall exist:
  2212
  2213  <programlisting>
  2214  <xref linkend="opt-users.users"/>.alice = {
  2215    <link linkend="opt-users.users._name__.isNormalUser">isNormalUser</link> = true;
  2216    <link linkend="opt-users.users._name__.home">home</link> = "/home/alice";

manual-combined.xml:2236: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-users.users"
  2232  <command>nixos-rebuild</command>.</para>
  2233
  2234  <para>If you set <xref linkend="opt-users.mutableUsers"/> to false, then the contents of
  2235  <literal>/etc/passwd</literal> and <literal>/etc/group</literal> will be congruent to
  2236  your NixOS configuration. For instance, if you remove a user from <xref linkend="opt-users.users"/>
  2237  and run nixos-rebuild, the user account will cease to exist. Also, imperative commands for managing users
  2238  and groups, such as useradd, are no longer available. Passwords may still be

manual-combined.xml:2702: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.nameservers"
  2698  servers:
  2699
  2700  <programlisting>
  2701  <xref linkend="opt-networking.defaultGateway"/> = "192.168.1.1";
  2702  <xref linkend="opt-networking.nameservers"/> = [ "8.8.8.8" ];
  2703  </programlisting>
  2704

manual-combined.xml:2624: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.networkmanager.enable"
  2620  <para>To facilitate network configuration, some desktop environments
  2621  use NetworkManager. You can enable NetworkManager by setting:
  2622
  2623  <programlisting>
  2624  <xref linkend="opt-networking.networkmanager.enable"/> = true;
  2625  </programlisting>
  2626

manual-combined.xml:2325: element link: validity error : IDREF attribute linkend references an unknown ID "opt-fileSystems._name__.fsType"
  2321  topology changes (e.g. if a disk is moved to another IDE
  2322  controller).</para>
  2323
  2324  <para>You can usually omit the file system type
  2325  (<option><link linkend="opt-fileSystems._name__.fsType">fsType</link></option>), since <command>mount</command> can usually
  2326  detect the type and load the necessary kernel module automatically.
  2327  However, if the file system is needed at early boot (in the initial

manual-combined.xml:3523: element link: validity error : IDREF attribute linkend references an unknown ID "opt-containers._name_.hostAddress"
  3519
  3520  <programlisting>
  3521  containers.database = {
  3522    <link linkend="opt-containers._name_.privateNetwork">privateNetwork</link> = true;
  3523    <link linkend="opt-containers._name_.hostAddress">hostAddress</link> = "192.168.100.10";
  3524    <link linkend="opt-containers._name_.localAddress">localAddress</link> = "192.168.100.11";
  3525  };

manual-combined.xml:2869: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.localCommands"
  2865  <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="ad-hoc-network-config">
  2866
  2867  <title>Ad-Hoc Configuration</title>
  2868
  2869  <para>You can use <xref linkend="opt-networking.localCommands"/> to specify
  2870  shell commands to be run at the end of
  2871  <literal>network-setup.service</literal>.  This is useful for doing

manual-combined.xml:2876: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.localCommands"
  2872  network configuration not covered by the existing NixOS modules.  For
  2873  instance, to statically configure an IPv6 address:
  2874
  2875  <programlisting>
  2876  <xref linkend="opt-networking.localCommands"/> =
  2877    ''
  2878      ip -6 addr add 2001:610:685:1::1/64 dev eth0

manual-combined.xml:3522: element link: validity error : IDREF attribute linkend references an unknown ID "opt-containers._name_.privateNetwork"
  3518  give a container its own network as follows:
  3519
  3520  <programlisting>
  3521  containers.database = {
  3522    <link linkend="opt-containers._name_.privateNetwork">privateNetwork</link> = true;
  3523    <link linkend="opt-containers._name_.hostAddress">hostAddress</link> = "192.168.100.10";
  3524    <link linkend="opt-containers._name_.localAddress">localAddress</link> = "192.168.100.11";

manual-combined.xml:616: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.initrd.checkJournalingFS"
   612    stopping your boot until you press <literal>*</literal>.
   613  </para>
   614
   615  <programlisting>
   616  <xref linkend="opt-boot.initrd.checkJournalingFS"/> = false;
   617  </programlisting>
   618

manual-combined.xml:2436: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.autorun"
  2432
  2433  <para>The X server is started automatically at boot time.  If you
  2434  don&#x2019;t want this to happen, you can set:
  2435  <programlisting>
  2436  <xref linkend="opt-services.xserver.autorun"/> = false;
  2437  </programlisting>
  2438  The X server can then be started manually:

manual-combined.xml:1240: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.adminAddr"
  1236  <programlisting>
  1237  { config, pkgs, ... }:
  1238
  1239  { <xref linkend="opt-services.httpd.enable"/> = true;
  1240    <xref linkend="opt-services.httpd.adminAddr"/> = "alice@example.org";
  1241    <xref linkend="opt-services.httpd.documentRoot"/> = "/webroot";
  1242  }

manual-combined.xml:1646: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.adminAddr"
  1642  loaded before any other kernel modules.</para>
  1643
  1644  <para>For other types of options, a merge may not be possible. For
  1645  instance, if two modules define
  1646  <xref linkend="opt-services.httpd.adminAddr"/>,
  1647  <command>nixos-rebuild</command> will give an error:
  1648

manual-combined.xml:1657: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.adminAddr"
  1653  When that happens, it&#x2019;s possible to force one definition take
  1654  precedence over the others:
  1655
  1656  <programlisting>
  1657  <xref linkend="opt-services.httpd.adminAddr"/> = pkgs.lib.mkForce "bob@example.org";
  1658  </programlisting>
  1659

manual-combined.xml:3460: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.adminAddr"
  3456
  3457  <screen>
  3458  # nixos-container update foo --config '
  3459    <xref linkend="opt-services.httpd.enable"/> = true;
  3460    <xref linkend="opt-services.httpd.adminAddr"/> = "foo@example.org";
  3461    <xref linkend="opt-networking.firewall.allowedTCPPorts"/> = [ 80 ];
  3462  '

manual-combined.xml:2218: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.extraGroups"
  2214  <xref linkend="opt-users.users"/>.alice = {
  2215    <link linkend="opt-users.users._name__.isNormalUser">isNormalUser</link> = true;
  2216    <link linkend="opt-users.users._name__.home">home</link> = "/home/alice";
  2217    <link linkend="opt-users.users._name__.description">description</link> = "Alice Foobar";
  2218    <link linkend="opt-users.users._name__.extraGroups">extraGroups</link> = [ "wheel" "networkmanager" ];
  2219    <link linkend="opt-users.users._name__.openssh.authorizedKeys.keys">openssh.authorizedKeys.keys</link> = [ "ssh-dss AAAAB3Nza... alice@foobar" ];
  2220  };

manual-combined.xml:2634: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.extraGroups"
  2630  <para>All users that should have permission to change network settings must
  2631  belong to the <code>networkmanager</code> group:
  2632
  2633  <programlisting>
  2634  <link linkend="opt-users.users._name__.extraGroups">users.extraUsers.youruser.extraGroups</link> = [ "networkmanager" ];
  2635  </programlisting>
  2636  </para>

manual-combined.xml:2897: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.kernelPackages"
  2893  <para>You can override the Linux kernel and associated packages using
  2894  the option <option>boot.kernelPackages</option>.  For instance, this
  2895  selects the Linux 3.10 kernel:
  2896  <programlisting>
  2897  <xref linkend="opt-boot.kernelPackages"/> = pkgs.linuxPackages_3_10;
  2898  </programlisting>
  2899  Note that this not only replaces the kernel, but also packages that

manual-combined.xml:2429: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.xkbVariant"
  2425
  2426  <para>You can set the keyboard layout (and optionally the layout variant):
  2427  <programlisting>
  2428  <xref linkend="opt-services.xserver.layout"/> = "de";
  2429  <xref linkend="opt-services.xserver.xkbVariant"/> = "neo";
  2430  </programlisting>
  2431  </para>

manual-combined.xml:1172: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-system.autoUpgrade.channel"
  1168  runs, see <command>systemctl list-timers</command>.)  You can also
  1169  specify a channel explicitly, e.g.
  1170
  1171  <programlisting>
  1172  <xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-17.03;
  1173  </programlisting>
  1174

manual-combined.xml:1434: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.virtualHosts"
  1430  to abstract.  Take, for instance, this Apache HTTP Server configuration:
  1431
  1432  <programlisting>
  1433  {
  1434    <xref linkend="opt-services.httpd.virtualHosts"/> =
  1435      [ { hostName = "example.org";
  1436          documentRoot = "/webroot";

manual-combined.xml:1466: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.virtualHosts"
  1462        enableUserDir = true;
  1463      };
  1464  in
  1465  {
  1466    <xref linkend="opt-services.httpd.virtualHosts"/> =
  1467      [ exampleOrgCommon
  1468        (exampleOrgCommon // {

manual-combined.xml:1489: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.virtualHosts"
  1485  allowed.  Thus, you also could have written:
  1486
  1487  <programlisting>
  1488  {
  1489    <xref linkend="opt-services.httpd.virtualHosts"/> =
  1490      let exampleOrgCommon = <replaceable>...</replaceable>; in
  1491      [ exampleOrgCommon

manual-combined.xml:1509: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.virtualHosts"
  1505  the host name.  This can be done as follows:
  1506
  1507  <programlisting>
  1508  {
  1509    <xref linkend="opt-services.httpd.virtualHosts"/> =
  1510      let
  1511        makeVirtualHost = name:

manual-combined.xml:1536: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.virtualHosts"
  1532  element in a list:
  1533
  1534  <programlisting>
  1535  {
  1536    <xref linkend="opt-services.httpd.virtualHosts"/> =
  1537      let
  1538        makeVirtualHost = <replaceable>...</replaceable>;

manual-combined.xml:1555: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.virtualHosts"
  1551  function that takes a <emphasis>set</emphasis> as its argument, like this:
  1552
  1553  <programlisting>
  1554  {
  1555    <xref linkend="opt-services.httpd.virtualHosts"/> =
  1556      let
  1557        makeVirtualHost = { name, root }:

manual-combined.xml:1717: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.virtualHosts"
  1713
  1714  nix-repl&gt; config.<xref linkend="opt-networking.hostName"/>
  1715  "mandark"
  1716
  1717  nix-repl&gt; map (x: x.hostName) config.<xref linkend="opt-services.httpd.virtualHosts"/>
  1718  [ "example.org" "example.gov" ]
  1719  </screen>

manual-combined.xml:2428: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.layout"
  2424  </para>
  2425
  2426  <para>You can set the keyboard layout (and optionally the layout variant):
  2427  <programlisting>
  2428  <xref linkend="opt-services.xserver.layout"/> = "de";
  2429  <xref linkend="opt-services.xserver.xkbVariant"/> = "neo";
  2430  </programlisting>

manual-combined.xml:2937: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.initrd.extraKernelModules"
  2933  <xref linkend="opt-boot.kernelModules"/> = [ "fuse" "kvm-intel" "coretemp" ];
  2934  </programlisting>
  2935  If the module is required early during the boot (e.g. to mount the
  2936  root file system), you can use
  2937  <xref linkend="opt-boot.initrd.extraKernelModules"/>:
  2938  <programlisting>
  2939  <xref linkend="opt-boot.initrd.extraKernelModules"/> = [ "cifs" ];

manual-combined.xml:2939: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.initrd.extraKernelModules"
  2935  If the module is required early during the boot (e.g. to mount the
  2936  root file system), you can use
  2937  <xref linkend="opt-boot.initrd.extraKernelModules"/>:
  2938  <programlisting>
  2939  <xref linkend="opt-boot.initrd.extraKernelModules"/> = [ "cifs" ];
  2940  </programlisting>
  2941  This causes the specified modules and their dependencies to be added

manual-combined.xml:1241: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.httpd.documentRoot"
  1237  { config, pkgs, ... }:
  1238
  1239  { <xref linkend="opt-services.httpd.enable"/> = true;
  1240    <xref linkend="opt-services.httpd.adminAddr"/> = "alice@example.org";
  1241    <xref linkend="opt-services.httpd.documentRoot"/> = "/webroot";
  1242  }
  1243  </programlisting>

manual-combined.xml:1368: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-fileSystems"
  1364        <para>Sets were introduced above.  They are name/value pairs
  1365        enclosed in braces, as in the option definition
  1366
  1367  <programlisting>
  1368  <xref linkend="opt-fileSystems"/>."/boot" =
  1369    { device = "/dev/sda1";
  1370      fsType = "ext4";

manual-combined.xml:2311: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-fileSystems"
  2307  device <filename>/dev/disk/by-label/data</filename> onto the mount
  2308  point <filename>/data</filename>:
  2309
  2310  <programlisting>
  2311  <xref linkend="opt-fileSystems"/>."/data" =
  2312    { device = "/dev/disk/by-label/data";
  2313      fsType = "ext4";

manual-combined.xml:2371: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-fileSystems"
  2367  <filename>configuration.nix</filename>:
  2368
  2369  <programlisting>
  2370  <link linkend="opt-boot.initrd.luks.devices._name__.device">boot.initrd.luks.devices.crypted.device</link> = "/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d";
  2371  <xref linkend="opt-fileSystems"/>."/".device = "/dev/mapper/crypted";
  2372  </programlisting>
  2373

manual-combined.xml:2786: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.firewall.allowedTCPPorts"
  2782  If the firewall is enabled, you can open specific TCP ports to the
  2783  outside world:
  2784
  2785  <programlisting>
  2786  <xref linkend="opt-networking.firewall.allowedTCPPorts"/> = [ 80 443 ];
  2787  </programlisting>
  2788

manual-combined.xml:3461: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.firewall.allowedTCPPorts"
  3457  <screen>
  3458  # nixos-container update foo --config '
  3459    <xref linkend="opt-services.httpd.enable"/> = true;
  3460    <xref linkend="opt-services.httpd.adminAddr"/> = "foo@example.org";
  3461    <xref linkend="opt-networking.firewall.allowedTCPPorts"/> = [ 80 ];
  3462  '
  3463

manual-combined.xml:2397: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.videoDrivers"
  2393  driver from a set of X.org drivers (such as <literal>vesa</literal>
  2394  and <literal>intel</literal>).  You can also specify a driver
  2395  manually, e.g.
  2396  <programlisting>
  2397  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "r128" ];
  2398  </programlisting>
  2399  to enable X.org&#x2019;s <literal>xf86-video-r128</literal> driver.</para>

manual-combined.xml:2451: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.videoDrivers"
  2447  <para>NVIDIA provides a proprietary driver for its graphics cards that
  2448  has better 3D performance than the X.org drivers.  It is not enabled
  2449  by default because it&#x2019;s not free software.  You can enable it as follows:
  2450  <programlisting>
  2451  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidia" ];
  2452  </programlisting>
  2453  Or if you have an older card, you may have to use one of the legacy drivers:

manual-combined.xml:2455: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.videoDrivers"
  2451  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidia" ];
  2452  </programlisting>
  2453  Or if you have an older card, you may have to use one of the legacy drivers:
  2454  <programlisting>
  2455  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy340" ];
  2456  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy304" ];
  2457  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy173" ];

manual-combined.xml:2456: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.videoDrivers"
  2452  </programlisting>
  2453  Or if you have an older card, you may have to use one of the legacy drivers:
  2454  <programlisting>
  2455  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy340" ];
  2456  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy304" ];
  2457  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy173" ];
  2458  </programlisting>

manual-combined.xml:2457: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.videoDrivers"
  2453  Or if you have an older card, you may have to use one of the legacy drivers:
  2454  <programlisting>
  2455  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy340" ];
  2456  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy304" ];
  2457  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy173" ];
  2458  </programlisting>
  2459  You may need to reboot after enabling this driver to prevent a clash

manual-combined.xml:2477: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.videoDrivers"
  2473  <para>AMD provides a proprietary driver for its graphics cards that
  2474  has better 3D performance than the X.org drivers.  It is not enabled
  2475  by default because it&#x2019;s not free software.  You can enable it as follows:
  2476  <programlisting>
  2477  <xref linkend="opt-services.xserver.videoDrivers"/> = [ "ati_unfree" ];
  2478  </programlisting>
  2479  You will need to reboot after enabling this driver to prevent a clash

manual-combined.xml:2410: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.windowManager.twm.enable"
  2406  <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;
  2407  <xref linkend="opt-services.xserver.desktopManager.xfce.enable"/> = true;
  2408  <xref linkend="opt-services.xserver.desktopManager.gnome3.enable"/> = true;
  2409  <xref linkend="opt-services.xserver.windowManager.xmonad.enable"/> = true;
  2410  <xref linkend="opt-services.xserver.windowManager.twm.enable"/> = true;
  2411  <xref linkend="opt-services.xserver.windowManager.icewm.enable"/> = true;
  2412  <xref linkend="opt-services.xserver.windowManager.i3.enable"/> = true;

manual-combined.xml:3306: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-nix.gc.automatic"
  3302  this unit automatically at certain points in time, for instance, every
  3303  night at 03:15:
  3304
  3305  <programlisting>
  3306  <xref linkend="opt-nix.gc.automatic"/> = true;
  3307  <xref linkend="opt-nix.gc.dates"/> = "03:15";
  3308  </programlisting>

manual-combined.xml:461: element link: validity error : IDREF attribute linkend references an unknown ID "opt-fileSystems._name__.device"
   457
   458    # Note: setting fileSystems is generally not
   459    # necessary, since nixos-generate-config figures them out
   460    # automatically in hardware-configuration.nix.
   461    #<link linkend="opt-fileSystems._name__.device">fileSystems."/".device</link> = "/dev/disk/by-label/nixos";
   462
   463    # Enable the OpenSSH server.

manual-combined.xml:2318: element link: validity error : IDREF attribute linkend references an unknown ID "opt-fileSystems._name__.device"
  2314    };
  2315  </programlisting>
  2316
  2317  Mount points are created automatically if they don&#x2019;t already exist.
  2318  For <option><link linkend="opt-fileSystems._name__.device">device</link></option>, it&#x2019;s best to use the topology-independent
  2319  device aliases in <filename>/dev/disk/by-label</filename> and
  2320  <filename>/dev/disk/by-uuid</filename>, as these don&#x2019;t change if the

manual-combined.xml:2748: element link: validity error : IDREF attribute linkend references an unknown ID "opt-networking.interfaces._name__.ipv6.addresses"
  2744  <para>As with IPv4 networking interfaces are automatically configured via
  2745  DHCPv6. You can configure an interface manually:
  2746
  2747  <programlisting>
  2748  <link linkend="opt-networking.interfaces._name__.ipv6.addresses">networking.interfaces.eth0.ipv6.addresses</link> = [ {
  2749    address = "fe00:aa:bb:cc::2";
  2750    prefixLength = 64;

manual-combined.xml:2370: element link: validity error : IDREF attribute linkend references an unknown ID "opt-boot.initrd.luks.devices._name__.device"
  2366  as <filename>/</filename>, add the following to
  2367  <filename>configuration.nix</filename>:
  2368
  2369  <programlisting>
  2370  <link linkend="opt-boot.initrd.luks.devices._name__.device">boot.initrd.luks.devices.crypted.device</link> = "/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d";
  2371  <xref linkend="opt-fileSystems"/>."/".device = "/dev/mapper/crypted";
  2372  </programlisting>

manual-combined.xml:2239: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.hashedPassword"
  2235  <literal>/etc/passwd</literal> and <literal>/etc/group</literal> will be congruent to
  2236  your NixOS configuration. For instance, if you remove a user from <xref linkend="opt-users.users"/>
  2237  and run nixos-rebuild, the user account will cease to exist. Also, imperative commands for managing users
  2238  and groups, such as useradd, are no longer available. Passwords may still be
  2239  assigned by setting the user's <link linkend="opt-users.users._name__.hashedPassword">hashedPassword</link>
  2240  option. A hashed password can be generated using <command>mkpasswd -m sha-512</command>
  2241  after installing the <literal>mkpasswd</literal> package.</para>

manual-combined.xml:2336: element link: validity error : IDREF attribute linkend references an unknown ID "opt-fileSystems._name__.options"
  2332
  2333  <note><para>System startup will fail if any of the filesystems fails to mount,
  2334  dropping you to the emergency shell.
  2335  You can make a mount asynchronous and non-critical by adding
  2336  <literal><link linkend="opt-fileSystems._name__.options">options</link> = [ "nofail" ];</literal>.
  2337  </para></note>
  2338

manual-combined.xml:350: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-users.mutableUsers"
   346      </screen>
   347
   348      <note>
   349        <para>
   350          To prevent the password prompt, set <code><xref linkend="opt-users.mutableUsers"/> = false;</code> in
   351          <filename>configuration.nix</filename>, which allows unattended installation
   352          necessary in automation.

manual-combined.xml:2234: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-users.mutableUsers"
  2230  a password. However, you can use the <command>passwd</command> program
  2231  to set a password, which is retained across invocations of
  2232  <command>nixos-rebuild</command>.</para>
  2233
  2234  <para>If you set <xref linkend="opt-users.mutableUsers"/> to false, then the contents of
  2235  <literal>/etc/passwd</literal> and <literal>/etc/group</literal> will be congruent to
  2236  your NixOS configuration. For instance, if you remove a user from <xref linkend="opt-users.users"/>

manual-combined.xml:1300: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.hostName"
  1296      <listitem>
  1297        <para>Strings are enclosed in double quotes, e.g.
  1298
  1299  <programlisting>
  1300  <xref linkend="opt-networking.hostName"/> = "dexter";
  1301  </programlisting>
  1302

manual-combined.xml:1714: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.hostName"
  1710
  1711  <screen>
  1712  $ nix-repl '&lt;nixpkgs/nixos&gt;'
  1713
  1714  nix-repl&gt; config.<xref linkend="opt-networking.hostName"/>
  1715  "mandark"
  1716

manual-combined.xml:2713: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.hostName"
  2709  <replaceable>interface-name</replaceable><literal>-cfg.service</literal>.
  2710  The default gateway and name server configuration is performed by
  2711  <literal>network-setup.service</literal>.</para></note>
  2712
  2713  <para>The host name is set using <xref linkend="opt-networking.hostName"/>:
  2714
  2715  <programlisting>

manual-combined.xml:2716: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.hostName"
  2712
  2713  <para>The host name is set using <xref linkend="opt-networking.hostName"/>:
  2714
  2715  <programlisting>
  2716  <xref linkend="opt-networking.hostName"/> = "cartman";
  2717  </programlisting>
  2718

manual-combined.xml:2526: element link: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.desktopManager.default"
  2522
  2523      <para>
  2524          To enable the Xfce Desktop Environment, set
  2525          <programlisting>
  2526  <link linkend="opt-services.xserver.desktopManager.default">services.xserver.desktopManager</link> = {
  2527    <link linkend="opt-services.xserver.desktopManager.xfce.enable">xfce.enable</link> = true;
  2528    <link linkend="opt-services.xserver.desktopManager.default">default</link> = "xfce";

manual-combined.xml:2528: element link: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.desktopManager.default"
  2524          To enable the Xfce Desktop Environment, set
  2525          <programlisting>
  2526  <link linkend="opt-services.xserver.desktopManager.default">services.xserver.desktopManager</link> = {
  2527    <link linkend="opt-services.xserver.desktopManager.xfce.enable">xfce.enable</link> = true;
  2528    <link linkend="opt-services.xserver.desktopManager.default">default</link> = "xfce";
  2529  };
  2530          </programlisting>

manual-combined.xml:1385: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.kernelModules"
  1381        <para>The important thing to note about lists is that list
  1382        elements are separated by whitespace, like this:
  1383
  1384  <programlisting>
  1385  <xref linkend="opt-boot.kernelModules"/> = [ "fuse" "kvm-intel" "coretemp" ];
  1386  </programlisting>
  1387

manual-combined.xml:1638: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.kernelModules"
  1634  list-type options, it will appear at the end of the merged list. If
  1635  you want it to appear first, you can use <varname>mkBefore</varname>:
  1636
  1637  <programlisting>
  1638  <xref linkend="opt-boot.kernelModules"/> = mkBefore [ "kvm-intel" ];
  1639  </programlisting>
  1640

manual-combined.xml:1701: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.kernelModules"
  1697  <screen>
  1698  $ nixos-option <xref linkend="opt-services.xserver.enable"/>
  1699  true
  1700
  1701  $ nixos-option <xref linkend="opt-boot.kernelModules"/>
  1702  [ "tun" "ipv6" "loop" <replaceable>...</replaceable> ]
  1703  </screen>

manual-combined.xml:2931: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.kernelModules"
  2927  <literal>m</literal> (to build something as a kernel module).</para>
  2928
  2929  <para>Kernel modules for hardware devices are generally loaded
  2930  automatically by <command>udev</command>.  You can force a module to
  2931  be loaded via <xref linkend="opt-boot.kernelModules"/>, e.g.
  2932  <programlisting>
  2933  <xref linkend="opt-boot.kernelModules"/> = [ "fuse" "kvm-intel" "coretemp" ];

manual-combined.xml:2933: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.kernelModules"
  2929  <para>Kernel modules for hardware devices are generally loaded
  2930  automatically by <command>udev</command>.  You can force a module to
  2931  be loaded via <xref linkend="opt-boot.kernelModules"/>, e.g.
  2932  <programlisting>
  2933  <xref linkend="opt-boot.kernelModules"/> = [ "fuse" "kvm-intel" "coretemp" ];
  2934  </programlisting>
  2935  If the module is required early during the boot (e.g. to mount the

manual-combined.xml:2412: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.windowManager.i3.enable"
  2408  <xref linkend="opt-services.xserver.desktopManager.gnome3.enable"/> = true;
  2409  <xref linkend="opt-services.xserver.windowManager.xmonad.enable"/> = true;
  2410  <xref linkend="opt-services.xserver.windowManager.twm.enable"/> = true;
  2411  <xref linkend="opt-services.xserver.windowManager.icewm.enable"/> = true;
  2412  <xref linkend="opt-services.xserver.windowManager.i3.enable"/> = true;
  2413  </programlisting>
  2414  </para>

manual-combined.xml:2666: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.openssh.permitRootLogin"
  2662  </programlisting>
  2663
  2664  By default, root logins using a password are disallowed.  They can be
  2665  disabled entirely by setting
  2666  <xref linkend="opt-services.openssh.permitRootLogin"/> to
  2667  <literal>"no"</literal>.</para>
  2668

manual-combined.xml:2217: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.description"
  2213  <programlisting>
  2214  <xref linkend="opt-users.users"/>.alice = {
  2215    <link linkend="opt-users.users._name__.isNormalUser">isNormalUser</link> = true;
  2216    <link linkend="opt-users.users._name__.home">home</link> = "/home/alice";
  2217    <link linkend="opt-users.users._name__.description">description</link> = "Alice Foobar";
  2218    <link linkend="opt-users.users._name__.extraGroups">extraGroups</link> = [ "wheel" "networkmanager" ];
  2219    <link linkend="opt-users.users._name__.openssh.authorizedKeys.keys">openssh.authorizedKeys.keys</link> = [ "ssh-dss AAAAB3Nza... alice@foobar" ];

manual-combined.xml:2733: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.enableIPv6"
  2729  is used to automatically assign IPv6 addresses to all interfaces.  You
  2730  can disable IPv6 support globally by setting:
  2731
  2732  <programlisting>
  2733  <xref linkend="opt-networking.enableIPv6"/> = false;
  2734  </programlisting></para>
  2735

manual-combined.xml:2829: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.wireless.enable"
  2825  <para>
  2826  NixOS will start wpa_supplicant for you if you enable this setting:
  2827
  2828  <programlisting>
  2829  <xref linkend="opt-networking.wireless.enable"/> = true;
  2830  </programlisting>
  2831

manual-combined.xml:2256: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-users.groups"
  2252  <para>Groups can be specified similarly.  The following states that a
  2253  group named <literal>students</literal> shall exist:
  2254
  2255  <programlisting>
  2256  <xref linkend="opt-users.groups"/>.students.gid = 1000;
  2257  </programlisting>
  2258

manual-combined.xml:2797: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.firewall.allowedTCPPortRanges"
  2793
  2794  <para>To open ranges of TCP ports:
  2795
  2796  <programlisting>
  2797  <xref linkend="opt-networking.firewall.allowedTCPPortRanges"/> = [
  2798    { from = 4000; to = 4007; }
  2799    { from = 8000; to = 8010; }

manual-combined.xml:2691: element link: validity error : IDREF attribute linkend references an unknown ID "opt-networking.interfaces._name__.ipv4.addresses"
  2687  interfaces.  However, you can configure an interface manually as
  2688  follows:
  2689
  2690  <programlisting>
  2691  <link linkend="opt-networking.interfaces._name__.ipv4.addresses">networking.interfaces.eth0.ipv4.addresses</link> = [ {
  2692    address = "192.168.1.2";
  2693    prefixLength = 24;

manual-combined.xml:1161: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-system.autoUpgrade.enable"
  1157  <para>You can keep a NixOS system up-to-date automatically by adding
  1158  the following to <filename>configuration.nix</filename>:
  1159
  1160  <programlisting>
  1161  <xref linkend="opt-system.autoUpgrade.enable"/> = true;
  1162  </programlisting>
  1163

manual-combined.xml:3207: element link: validity error : IDREF attribute linkend references an unknown ID "opt-systemd.services._name_.serviceConfig"
  3203  would get 1/1001 of the cgroup&#x2019;s CPU time.)  You can limit a service&#x2019;s
  3204  CPU share in <filename>configuration.nix</filename>:
  3205
  3206  <programlisting>
  3207  <link linkend="opt-systemd.services._name_.serviceConfig">systemd.services.httpd.serviceConfig</link>.CPUShares = 512;
  3208  </programlisting>
  3209

manual-combined.xml:3221: element link: validity error : IDREF attribute linkend references an unknown ID "opt-systemd.services._name_.serviceConfig"
  3217  <filename>configuration.nix</filename>; for instance, to limit
  3218  <literal>httpd.service</literal> to 512 MiB of RAM (excluding swap):
  3219
  3220  <programlisting>
  3221  <link linkend="opt-systemd.services._name_.serviceConfig">systemd.services.httpd.serviceConfig</link>.MemoryLimit = "512M";
  3222  </programlisting>
  3223

manual-combined.xml:1410: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.postgresql.package"
  1406    [ pkgs.thunderbird
  1407      pkgs.emacs
  1408    ];
  1409
  1410  <xref linkend="opt-services.postgresql.package"/> = pkgs.postgresql90;
  1411  </programlisting>
  1412

manual-combined.xml:3504: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.postgresql.package"
  3500  containers.database =
  3501    { config =
  3502        { config, pkgs, ... }:
  3503        { <xref linkend="opt-services.postgresql.enable"/> = true;
  3504        <xref linkend="opt-services.postgresql.package"/> = pkgs.postgresql96;
  3505        };
  3506    };

manual-combined.xml:2758: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.defaultGateway6"
  2754
  2755  <para>For configuring a gateway, optionally with explicitly specified interface:
  2756
  2757  <programlisting>
  2758  <xref linkend="opt-networking.defaultGateway6"/> = {
  2759    address = "fe00::1";
  2760    interface = "enp0s3";

manual-combined.xml:1620: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.enable"
  1616
  1617  <programlisting>
  1618  { config, pkgs, ... }:
  1619
  1620  { <xref linkend="opt-services.xserver.enable"/> = true;
  1621    <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
  1622    <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;

manual-combined.xml:1675: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.enable"
  1671  is a &#x201C;lazy&#x201D; language &#x2014; it only computes values when they are needed.
  1672  This works as long as no individual configuration value depends on
  1673  itself.</para></footnote>.  For example, here is a module that adds
  1674  some packages to <xref linkend="opt-environment.systemPackages"/> only if
  1675  <xref linkend="opt-services.xserver.enable"/> is set to
  1676  <literal>true</literal> somewhere else:
  1677

manual-combined.xml:1682: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.enable"
  1678  <programlisting>
  1679  { config, pkgs, ... }:
  1680
  1681  { <xref linkend="opt-environment.systemPackages"/> =
  1682      if config.<xref linkend="opt-services.xserver.enable"/> then
  1683        [ pkgs.firefox
  1684          pkgs.thunderbird

manual-combined.xml:1698: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.enable"
  1694  value of a configuration option is.  The command
  1695  <option>nixos-option</option> allows you to find out:
  1696
  1697  <screen>
  1698  $ nixos-option <xref linkend="opt-services.xserver.enable"/>
  1699  true
  1700

manual-combined.xml:2390: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.enable"
  2386
  2387  <para>The X Window System (X11) provides the basis of NixOS&#x2019; graphical
  2388  user interface.  It can be enabled as follows:
  2389  <programlisting>
  2390  <xref linkend="opt-services.xserver.enable"/> = true;
  2391  </programlisting>
  2392  The X server will automatically detect and use the appropriate video

manual-combined.xml:749: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.loader.grub.extraEntries"
   745                  Ubuntu, you may want to add something like this to your
   746                  <literal>configuration.nix</literal>:</para>
   747
   748              <programlisting>
   749  <xref linkend="opt-boot.loader.grub.extraEntries"/> = ''
   750    menuentry "Ubuntu" {
   751      search --set=ubuntu --fs-uuid 3cc3e652-0c1f-4800-8451-033754f68e6e

manual-combined.xml:279: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.loader.grub.device"
   275      <variablelist>
   276
   277        <varlistentry><term>BIOS systems</term>
   278          <listitem><para>You <emphasis>must</emphasis> set the option
   279              <xref linkend="opt-boot.loader.grub.device"/> to specify on which disk
   280              the GRUB boot loader is to be installed.  Without it, NixOS cannot
   281              boot.</para></listitem></varlistentry>

manual-combined.xml:455: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.loader.grub.device"
   451      # Include the results of the hardware scan.
   452      ./hardware-configuration.nix
   453    ];
   454
   455    <xref linkend="opt-boot.loader.grub.device"/> = "/dev/sda";   # <lineannotation>(for BIOS systems only)</lineannotation>
   456    <xref linkend="opt-boot.loader.systemd-boot.enable"/> = true; # <lineannotation>(for UEFI systems only)</lineannotation>
   457

manual-combined.xml:607: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.loader.grub.device"
   603    Enable booting:
   604  </para>
   605
   606  <programlisting>
   607  <xref linkend="opt-boot.loader.grub.device"/> = "/dev/sda";
   608  </programlisting>
   609

manual-combined.xml:3503: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.postgresql.enable"
  3499  <programlisting>
  3500  containers.database =
  3501    { config =
  3502        { config, pkgs, ... }:
  3503        { <xref linkend="opt-services.postgresql.enable"/> = true;
  3504        <xref linkend="opt-services.postgresql.package"/> = pkgs.postgresql96;
  3505        };

manual-combined.xml:1310: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.extraHosts"
  1306        <para>Multi-line strings can be enclosed in <emphasis>double
  1307        single quotes</emphasis>, e.g.
  1308
  1309  <programlisting>
  1310  <xref linkend="opt-networking.extraHosts"/> =
  1311    ''
  1312      127.0.0.2 other-localhost

manual-combined.xml:3524: element link: validity error : IDREF attribute linkend references an unknown ID "opt-containers._name_.localAddress"
  3520  <programlisting>
  3521  containers.database = {
  3522    <link linkend="opt-containers._name_.privateNetwork">privateNetwork</link> = true;
  3523    <link linkend="opt-containers._name_.hostAddress">hostAddress</link> = "192.168.100.10";
  3524    <link linkend="opt-containers._name_.localAddress">localAddress</link> = "192.168.100.11";
  3525  };
  3526  </programlisting>

manual-combined.xml:1348: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.kernel.sysctl"
  1344      <listitem>
  1345        <para>For example,
  1346
  1347  <programlisting>
  1348  <xref linkend="opt-boot.kernel.sysctl"/>."net.ipv4.tcp_keepalive_time" = 60;
  1349  </programlisting>
  1350

manual-combined.xml:2740: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.kernel.sysctl"
  2736  <para>You can disable IPv6 on a single interface using a normal sysctl (in this
  2737  example, we use interface <varname>eth0</varname>):
  2738
  2739  <programlisting>
  2740  <xref linkend="opt-boot.kernel.sysctl"/>."net.ipv6.conf.eth0.disable_ipv6" = true;
  2741  </programlisting>
  2742  </para>

manual-combined.xml:2945: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.kernel.sysctl"
  2941  This causes the specified modules and their dependencies to be added
  2942  to the initial ramdisk.</para>
  2943
  2944  <para>Kernel runtime parameters can be set through
  2945  <xref linkend="opt-boot.kernel.sysctl"/>, e.g.
  2946  <programlisting>
  2947  <xref linkend="opt-boot.kernel.sysctl"/>."net.ipv4.tcp_keepalive_time" = 120;

manual-combined.xml:2947: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.kernel.sysctl"
  2943
  2944  <para>Kernel runtime parameters can be set through
  2945  <xref linkend="opt-boot.kernel.sysctl"/>, e.g.
  2946  <programlisting>
  2947  <xref linkend="opt-boot.kernel.sysctl"/>."net.ipv4.tcp_keepalive_time" = 120;
  2948  </programlisting>
  2949  sets the kernel&#x2019;s TCP keepalive time to 120 seconds.  To see the

manual-combined.xml:290: element link: validity error : IDREF attribute linkend references an unknown ID "opt-boot.loader.efi.canTouchEfiVariables"
   286              <command>nixos-generate-config</command> should do this automatically for new
   287              configurations when booted in
   288              UEFI mode.</para>
   289            <para>You may want to look at the options starting with
   290              <option><link linkend="opt-boot.loader.efi.canTouchEfiVariables">boot.loader.efi</link></option> and
   291              <option><link linkend="opt-boot.loader.systemd-boot.enable">boot.loader.systemd</link></option> as well.
   292            </para>

manual-combined.xml:2465: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-hardware.opengl.driSupport32Bit"
  2461
  2462  <para>On 64-bit systems, if you want full acceleration for 32-bit
  2463  programs such as Wine, you should also set the following:
  2464  <programlisting>
  2465  <xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true;
  2466  </programlisting>
  2467  </para>

manual-combined.xml:2485: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-hardware.opengl.driSupport32Bit"
  2481
  2482  <para>On 64-bit systems, if you want full acceleration for 32-bit
  2483  programs such as Wine, you should also set the following:
  2484  <programlisting>
  2485  <xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true;
  2486  </programlisting>
  2487  </para>

manual-combined.xml:3585: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.nat.externalInterface"
  3581
  3582  <programlisting>
  3583  <xref linkend="opt-networking.nat.enable"/> = true;
  3584  <xref linkend="opt-networking.nat.internalInterfaces"/> = ["ve-+"];
  3585  <xref linkend="opt-networking.nat.externalInterface"/> = "eth0";
  3586  </programlisting>
  3587  where <literal>eth0</literal> should be replaced with the desired

manual-combined.xml:2215: element link: validity error : IDREF attribute linkend references an unknown ID "opt-users.users._name__.isNormalUser"
  2211  states that a user account named <literal>alice</literal> shall exist:
  2212
  2213  <programlisting>
  2214  <xref linkend="opt-users.users"/>.alice = {
  2215    <link linkend="opt-users.users._name__.isNormalUser">isNormalUser</link> = true;
  2216    <link linkend="opt-users.users._name__.home">home</link> = "/home/alice";
  2217    <link linkend="opt-users.users._name__.description">description</link> = "Alice Foobar";

manual-combined.xml:2834: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-networking.wireless.networks"
  2830  </programlisting>
  2831
  2832  NixOS lets you specify networks for wpa_supplicant declaratively:
  2833  <programlisting>
  2834  <xref linkend="opt-networking.wireless.networks"/> = {
  2835    echelon = {
  2836      psk = "abcdefgh";

manual-combined.xml:3307: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-nix.gc.dates"
  3303  night at 03:15:
  3304
  3305  <programlisting>
  3306  <xref linkend="opt-nix.gc.automatic"/> = true;
  3307  <xref linkend="opt-nix.gc.dates"/> = "03:15";
  3308  </programlisting>
  3309

manual-combined.xml:285: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.loader.systemd-boot.enable"
   281              boot.</para></listitem></varlistentry>
   282
   283        <varlistentry><term>UEFI systems</term>
   284          <listitem><para>You <emphasis>must</emphasis> set the option
   285              <xref linkend="opt-boot.loader.systemd-boot.enable"/> to <literal>true</literal>.
   286              <command>nixos-generate-config</command> should do this automatically for new
   287              configurations when booted in

manual-combined.xml:291: element link: validity error : IDREF attribute linkend references an unknown ID "opt-boot.loader.systemd-boot.enable"
   287              configurations when booted in
   288              UEFI mode.</para>
   289            <para>You may want to look at the options starting with
   290              <option><link linkend="opt-boot.loader.efi.canTouchEfiVariables">boot.loader.efi</link></option> and
   291              <option><link linkend="opt-boot.loader.systemd-boot.enable">boot.loader.systemd</link></option> as well.
   292            </para>
   293          </listitem>

manual-combined.xml:456: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-boot.loader.systemd-boot.enable"
   452      ./hardware-configuration.nix
   453    ];
   454
   455    <xref linkend="opt-boot.loader.grub.device"/> = "/dev/sda";   # <lineannotation>(for BIOS systems only)</lineannotation>
   456    <xref linkend="opt-boot.loader.systemd-boot.enable"/> = true; # <lineannotation>(for UEFI systems only)</lineannotation>
   457
   458    # Note: setting fileSystems is generally not

manual-combined.xml:2501: element xref: validity error : IDREF attribute linkend references an unknown ID "opt-services.xserver.libinput.tapping"
  2497  </programlisting>
  2498  The driver has many options (see <xref linkend="ch-options"/>).  For
  2499  instance, the following disables tap-to-click behavior:
  2500  <programlisting>
  2501  <xref linkend="opt-services.xserver.libinput.tapping"/> = false;
  2502  </programlisting>
  2503  Note: the use of <literal>services.xserver.synaptics</literal> is deprecated since NixOS 17.09.

manual-combined.xml fails to validate
builder for '/nix/store/wx071hpzwxs22b382f3yrqx1v2p4ai6l-nixos-manual-combined.drv' failed with exit code 3
cannot build derivation '/nix/store/qahlw40w6ysf5nq27af12v0gmxi8xmq6-nixos-manpages.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/5gy6h3sgj6nwajp72d5lkksnjahy1ljw-home-environment-manpages.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/gi89iw2zrw4djrc8cnhgqys56agiha15-home-manager-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/jp2sxpsx36sgwrvjif4bsiyr8vcs6nds-home-manager-generation.drv': 1 dependencies couldn't be built
error: build of '/nix/store/jp2sxpsx36sgwrvjif4bsiyr8vcs6nds-home-manager-generation.drv' failed

$nixpkgs_dir points to 84d11bd1fb89c2b6ce5e960f032e7fed86a5257d (nixpkgs master).

@flokli
Copy link
Contributor Author

flokli commented May 1, 2018

nix-build nixos/release.nix -A manual.x86_64-linux -I nixpkgs=$nixpkgs_dir succeeded, btw.

@rycee
Copy link
Member

rycee commented May 1, 2018

Hmm, I guess you are on unstable Nixpkgs? I suppose the docbook files there have changed around a bit again. I will try having a look during the weekend. Thanks for reporting!

@grahamc
Copy link
Member

grahamc commented May 2, 2018

The change is in that the documentation now refers to IDs in the combined options.xml document, allowing cross-linking between the options in the text to the definitions of what they mean.

@rycee rycee closed this as completed in 1260349 May 6, 2018
@rycee
Copy link
Member

rycee commented May 6, 2018

@grahamc Thanks for the clarification! That is a very useful feature for the documentation 👍

@flokli The manual page should build OK now (I also added a very basic man page for home-manager)

Unfortunately the fix includes a fair amount of duplicate code from NixOS; basically the entire <nixpkgs/nixos/doc/manual/default.nix> file with some modifications. It does look possible to generalize this file somewhat though to be more "library-like" and therefore suitable for 3rd party use. I might look into this more when I have the time since it does seem like a very useful functionality for more projects.

@ElvishJerricco
Copy link
Contributor

Unfortunately the fix includes a fair amount of duplicate code from NixOS; basically the entire <nixpkgs/nixos/doc/manual/default.nix> file with some modifications. It does look possible to generalize this file somewhat though to be more "library-like" and therefore suitable for 3rd party use. I might look into this more when I have the time since it does seem like a very useful functionality for more projects.

Yea, I'd love for a function generateManual :: Options -> Manual. I have several usecases for that. I don't think it needs to be so entwined with the Nixpkgs/NixOS internals.

@nixos-discourse
Copy link

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/nixos-upgrade-or-nixos-rebuild-build-or-switch-fails-with-manual-combined-drv-failed-with-exit-code-3/11012/1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants