summary refs log tree commit diff
path: root/nixos/doc/manual/man-nixos-option.xml
blob: bd180363e70d5ed69f97edc173e26db4cc357795 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<refentry xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude">
  
<refmeta>
  <refentrytitle><command>nixos-option</command></refentrytitle>
  <manvolnum>8</manvolnum>
  <refmiscinfo class="source">NixOS</refmiscinfo>
  <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
</refmeta>

<refnamediv>
  <refname><command>nixos-option</command></refname>
  <refpurpose>inspect a NixOS configuration</refpurpose>
</refnamediv>

<refsynopsisdiv>
  <cmdsynopsis>
    <command>nixos-option</command>
    <group choice="opt">
      <option>-v</option>
      <option>-d</option>
      <option>-l</option>
    </group>
    <arg choice='plain'><replaceable>option.name</replaceable></arg>
  </cmdsynopsis>
</refsynopsisdiv>


<refsection><title>Description</title>

<para>This command evaluates the configuration specified in
<filename>/etc/nixos/configuration.nix</filename> and returns the properties
of the option name given as argument.  By default, it returns the value of
the option.</para>

<para>When the option name is not an option, the command prints the list of
attributes contained in the attribute set.</para>

</refsection>

<refsection><title>Options</title>

<para>This command accepts the following options:</para>

<variablelist>

  <varlistentry>
    <term><option>--value</option>, <option>-v</option></term>
    <listitem>
      <para>Returns the value of the option.  This is the default operation
      if no other options are defined.</para>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term><option>--description</option>, <option>-d</option></term>
    <listitem>
      <para>Return the default value, the example and the description of the
      option when available.</para>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term><option>--lookup</option>, <option>-l</option></term>
    <listitem>
      <para>Return the locations where the option is declared and where it
      is defined.  This is extremely useful to find sources of errors in
      your configuration.</para>
    </listitem>
  </varlistentry>

</variablelist>

</refsection>


<refsection><title>Environment</title>

<variablelist>

  <varlistentry>
    <term><envar>NIXOS_CONFIG</envar></term>
    <listitem>
      <para>Path to the main NixOS configuration module.  Defaults to
      <filename>/etc/nixos/configuration.nix</filename>.</para>
    </listitem>
  </varlistentry>

</variablelist>

</refsection>


<refsection><title>Examples</title>

<para>Investigate option values:

<screen>$ nixos-option boot.loader
This attribute set contains:
generationsDir
grub
initScript

$ nixos-option boot.loader.grub.enable
true</screen></para>

<para>Prints option information:

<screen>$ nixos-option -d networking.hostName
Default: "nixos"
Description:
The name of the machine. Leave it empty if you want to obtain
it from a DHCP server (if using DHCP).</screen></para>

<para>Find the locations which are declaring and defining an option:

<screen>$ nixos-option -l hardware.firmware
Declared by:
  /mnt/data/nix-sources/nixos/modules/services/hardware/udev.nix

Defined by:
  /etc/nixos/nixos/modules/system/boot/kernel.nix
  /etc/nixos/nixos/modules/hardware/network/rt73.nix
  /etc/nixos/nixos/modules/hardware/network/intel-3945abg.nix
  /etc/nixos/nixos/modules/hardware/network/intel-2200bg.nix</screen></para>

</refsection>

<refsection><title>Bugs</title>

<para>The author listed in the following section is wrong.  If there is any
  other bug, please report to Nicolas Pierron.</para>

</refsection>


</refentry>