summary refs log tree commit diff
path: root/nixos/doc/manual/man-nixos-enter.xml
blob: 7db4b72ee36e9821540ee68b877b78073eff61da (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
<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-enter</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-enter</command>
  </refname><refpurpose>run a command in a NixOS chroot environment</refpurpose>
 </refnamediv>
 <refsynopsisdiv>
  <cmdsynopsis><command>nixos-enter</command>
   <arg>
    <arg choice='plain'><option>--root</option>
    </arg><replaceable>root</replaceable>
   </arg>
   <arg>
    <arg choice='plain'><option>--system</option>
    </arg><replaceable>system</replaceable>
   </arg>
   <arg>
    <arg choice='plain'><option>-c</option>
    </arg><replaceable>shell-command</replaceable>
   </arg>
   <arg>
    <arg choice='plain'><option>--help</option>
    </arg>
   </arg>
   <arg>
    <arg choice='plain'><option>--</option>
    </arg><replaceable>arguments</replaceable>
   </arg>
  </cmdsynopsis>
 </refsynopsisdiv>
 <refsection>
  <title>Description</title>
  <para>
   This command runs a command in a NixOS chroot environment, that is, in a
   filesystem hierarchy previously prepared using
   <command>nixos-install</command>.
  </para>
 </refsection>
 <refsection>
  <title>Options</title>
  <para>
   This command accepts the following options:
  </para>
  <variablelist>
   <varlistentry>
    <term><option>--root</option>
    </term>
    <listitem>
     <para>
      The path to the NixOS system you want to enter. It defaults to
      <filename>/mnt</filename>.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term><option>--system</option>
    </term>
    <listitem>
     <para>
      The NixOS system configuration to use. It defaults to
      <filename>/nix/var/nix/profiles/system</filename>. You can enter a
      previous NixOS configuration by specifying a path such as
      <filename>/nix/var/nix/profiles/system-106-link</filename>.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term><option>--command</option>
    </term>
    <term><option>-c</option>
    </term>
    <listitem>
     <para>
      The bash command to execute.
     </para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term><option>--</option>
    </term>
    <listitem>
     <para>
      Interpret the remaining arguments as the program name and arguments to be
      invoked. The program is not executed in a shell.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsection>
 <refsection>
  <title>Examples</title>
  <para>
   Start an interactive shell in the NixOS installation in
   <filename>/mnt</filename>:
  </para>
<screen>
# nixos-enter /mnt
</screen>
  <para>
   Run a shell command:
  </para>
<screen>
# nixos-enter -c 'ls -l /; cat /proc/mounts'
</screen>
  <para>
   Run a non-shell command:
  </para>
<screen>
# nixos-enter -- cat /proc/mounts
</screen>
 </refsection>
</refentry>