summary refs log tree commit diff
path: root/nixos/doc/manual/man-nixos-install.xml
blob: 06e7b4a98470eb4a4de1b930ba294fc05b94ba71 (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
139
140
141
142
143
144
145
146
147
148
149
<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-install</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-install</command></refname>
  <refpurpose>install bootloader and NixOS</refpurpose>
</refnamediv>

<refsynopsisdiv>
  <cmdsynopsis>
    <command>nixos-install</command>
    <arg>
      <arg choice='plain'><option>-I</option></arg>
      <replaceable>path</replaceable>
    </arg>
    <arg>
      <arg choice='plain'><option>--root</option></arg>
      <replaceable>root</replaceable>
    </arg>
    <arg>
      <arg choice='plain'><option>--show-trace</option></arg>
    </arg>
    <arg>
      <arg choice='plain'><option>--chroot</option></arg>
    </arg>
    <arg>
      <arg choice='plain'><option>--help</option></arg>
    </arg>
  </cmdsynopsis>
</refsynopsisdiv>


<refsection><title>Description</title>

<para>This command installs NixOS in the file system mounted on
<filename>/mnt</filename>, based on the NixOS configuration specified
in <filename>/mnt/etc/nixos/configuration.nix</filename>.  It performs
the following steps:

<itemizedlist>

  <listitem><para>It copies Nix and its dependencies to
  <filename>/mnt/nix/store</filename>.</para></listitem>

  <listitem><para>It runs Nix in <filename>/mnt</filename> to build
  the NixOS configuration specified in
  <filename>/mnt/etc/nixos/configuration.nix</filename>.</para></listitem>

  <listitem><para>It installs the GRUB boot loader on the device
  specified in the option <option>boot.loader.grub.device</option>,
  and generates a GRUB configuration file that boots into the NixOS
  configuration just installed.</para></listitem>

  <listitem><para>It prompts you for a password for the root
  account.</para></listitem>

</itemizedlist>

</para>

<para>This command is idempotent: if it is interrupted or fails due to
a temporary problem (e.g. a network issue), you can safely re-run
it.</para>

</refsection>

<refsection><title>Options</title>

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

<variablelist>

  <varlistentry>
    <term><option>--root</option></term>
    <listitem>
      <para>Defaults to <filename>/mnt</filename>. If this option is given, treat the directory
      <replaceable>root</replaceable> as the root of the NixOS installation.
      </para>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term><option>-I</option></term>
    <listitem>
      <para>Add a path to the Nix expression search path. This option may be given multiple times.
        See the NIX_PATH environment variable for information on the semantics of the Nix search path.
        Paths added through <replaceable>-I</replaceable> take precedence over NIX_PATH.</para>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term><option>--show-trace</option></term>
    <listitem>
      <para>Causes Nix to print out a stack trace in case of Nix expression evaluation errors.</para>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term><option>--chroot</option></term>
    <listitem>
      <para>Chroot into given installation. Any additional arguments passed are going to be executed inside the chroot.
      </para>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term><option>--help</option></term>
    <listitem>
      <para>Synonym for <command>man nixos-install</command>.</para>
    </listitem>
  </varlistentry>

</variablelist>

</refsection>


<refsection><title>Examples</title>

<para>A typical NixOS installation is done by creating and mounting a
file system on <filename>/mnt</filename>, generating a NixOS
configuration in
<filename>/mnt/etc/nixos/configuration.nix</filename>, and running
<command>nixos-install</command>.  For instance, if we want to install
NixOS on an <literal>ext4</literal> file system created in
<filename>/dev/sda1</filename>:

<screen>
$ mkfs.ext4 /dev/sda1
$ mount /dev/sda1 /mnt
$ nixos-generate-config --root /mnt
$ # edit /mnt/etc/nixos/configuration.nix
$ nixos-install
$ reboot
</screen>

</para>

</refsection>

</refentry>