| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  | <refentry xmlns="http://docbook.org/ns/docbook" | 
					
						
							|  |  |  |  |           xmlns:xlink="http://www.w3.org/1999/xlink" | 
					
						
							|  |  |  |  |           xmlns:xi="http://www.w3.org/2001/XInclude"> | 
					
						
							| 
									
										
										
										
											2015-03-09 16:23:23 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  | <refmeta> | 
					
						
							|  |  |  |  |   <refentrytitle><command>nixos-rebuild</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-rebuild</command></refname> | 
					
						
							|  |  |  |  |   <refpurpose>reconfigure a NixOS machine</refpurpose> | 
					
						
							|  |  |  |  | </refnamediv> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <refsynopsisdiv> | 
					
						
							|  |  |  |  |   <cmdsynopsis> | 
					
						
							|  |  |  |  |     <command>nixos-rebuild</command> | 
					
						
							|  |  |  |  |     <group choice='req'> | 
					
						
							|  |  |  |  |       <arg choice='plain'><option>switch</option></arg> | 
					
						
							|  |  |  |  |       <arg choice='plain'><option>boot</option></arg> | 
					
						
							|  |  |  |  |       <arg choice='plain'><option>test</option></arg> | 
					
						
							|  |  |  |  |       <arg choice='plain'><option>build</option></arg> | 
					
						
							| 
									
										
										
										
											2015-03-09 16:23:23 +01:00
										 |  |  |  |       <arg choice='plain'><option>dry-build</option></arg> | 
					
						
							|  |  |  |  |       <arg choice='plain'><option>dry-activate</option></arg> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |       <arg choice='plain'><option>build-vm</option></arg> | 
					
						
							| 
									
										
										
										
											2010-09-13 12:34:58 +00:00
										 |  |  |  |       <arg choice='plain'><option>build-vm-with-bootloader</option></arg> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |     </group> | 
					
						
							|  |  |  |  |     <sbr /> | 
					
						
							| 
									
										
										
										
											2012-06-25 16:17:34 -04:00
										 |  |  |  |     <arg><option>--upgrade</option></arg> | 
					
						
							| 
									
										
										
										
											2016-08-16 07:51:58 -04:00
										 |  |  |  |     <arg><option>--install-bootloader</option></arg> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |     <arg><option>--no-build-nix</option></arg> | 
					
						
							|  |  |  |  |     <arg><option>--fast</option></arg> | 
					
						
							|  |  |  |  |     <arg><option>--rollback</option></arg> | 
					
						
							|  |  |  |  |     <sbr /> | 
					
						
							| 
									
										
										
										
											2013-10-11 14:07:53 +02:00
										 |  |  |  |     <arg> | 
					
						
							|  |  |  |  |       <group choice='req'> | 
					
						
							|  |  |  |  |         <arg choice='plain'><option>--profile-name</option></arg> | 
					
						
							|  |  |  |  |         <arg choice='plain'><option>-p</option></arg> | 
					
						
							|  |  |  |  |       </group> | 
					
						
							|  |  |  |  |       <replaceable>name</replaceable> | 
					
						
							|  |  |  |  |     </arg> | 
					
						
							|  |  |  |  |     <sbr /> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |     <arg><option>--show-trace</option></arg> | 
					
						
							|  |  |  |  |   </cmdsynopsis> | 
					
						
							|  |  |  |  | </refsynopsisdiv> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <refsection><title>Description</title> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <para>This command updates the system so that it corresponds to the | 
					
						
							|  |  |  |  | configuration specified in | 
					
						
							|  |  |  |  | <filename>/etc/nixos/configuration.nix</filename>.  Thus, every time | 
					
						
							|  |  |  |  | you modify <filename>/etc/nixos/configuration.nix</filename> or any | 
					
						
							|  |  |  |  | NixOS module, you must run <command>nixos-rebuild</command> to make | 
					
						
							|  |  |  |  | the changes take effect.  It builds the new system in | 
					
						
							|  |  |  |  | <filename>/nix/store</filename>, runs its activation script, and stop | 
					
						
							|  |  |  |  | and (re)starts any system services if needed.</para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <para>This command has one required argument, which specifies the | 
					
						
							|  |  |  |  | desired operation.  It must be one of the following: | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <variablelist> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>switch</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Build and activate the new configuration, and make it the | 
					
						
							|  |  |  |  |       boot default.  That is, the configuration is added to the GRUB | 
					
						
							|  |  |  |  |       boot menu as the default meny entry, so that subsequent reboots | 
					
						
							|  |  |  |  |       will boot the system into the new configuration.  Previous | 
					
						
							|  |  |  |  |       configurations activated with <command>nixos-rebuild | 
					
						
							|  |  |  |  |       switch</command> or <command>nixos-rebuild boot</command> remain | 
					
						
							|  |  |  |  |       available in the GRUB menu.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>boot</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Build the new configuration and make it the boot default | 
					
						
							|  |  |  |  |       (as with <command>nixos-rebuild switch</command>), but do not | 
					
						
							|  |  |  |  |       activate it.  That is, the system continues to run the previous | 
					
						
							|  |  |  |  |       configuration until the next reboot.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>test</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Build and activate the new configuration, but do not add | 
					
						
							|  |  |  |  |       it to the GRUB boot menu.  Thus, if you reboot the system (or if | 
					
						
							|  |  |  |  |       it crashes), you will automatically revert to the default | 
					
						
							|  |  |  |  |       configuration (i.e. the configuration resulting from the last | 
					
						
							|  |  |  |  |       call to <command>nixos-rebuild switch</command> or | 
					
						
							|  |  |  |  |       <command>nixos-rebuild boot</command>).</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>build</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Build the new configuration, but neither activate it nor | 
					
						
							|  |  |  |  |       add it to the GRUB boot menu.  It leaves a symlink named | 
					
						
							|  |  |  |  |       <filename>result</filename> in the current directory, which | 
					
						
							|  |  |  |  |       points to the output of the top-level “system” derivation.  This | 
					
						
							|  |  |  |  |       is essentially the same as doing | 
					
						
							|  |  |  |  | <screen> | 
					
						
							| 
									
										
										
										
											2013-10-27 08:39:32 +02:00
										 |  |  |  | $ nix-build /path/to/nixpkgs/nixos -A system | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  | </screen> | 
					
						
							|  |  |  |  |       Note that you do not need to be <literal>root</literal> to run | 
					
						
							|  |  |  |  |       <command>nixos-rebuild build</command>.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							| 
									
										
										
										
											2015-03-09 16:23:23 +01:00
										 |  |  |  |     <term><option>dry-build</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Show what store paths would be built or downloaded by any | 
					
						
							|  |  |  |  |       of the operations above, but otherwise do nothing.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>dry-activate</option></term> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |     <listitem> | 
					
						
							| 
									
										
										
										
											2015-03-09 16:23:23 +01:00
										 |  |  |  |       <para>Build the new configuration, but instead of activating it, | 
					
						
							|  |  |  |  |       show what changes would be performed by the activation (i.e. by | 
					
						
							|  |  |  |  |       <command>nixos-rebuild test</command>). For | 
					
						
							|  |  |  |  |       instance, this command will print which systemd units would be | 
					
						
							|  |  |  |  |       restarted. The list of changes is not guaranteed to be | 
					
						
							|  |  |  |  |       complete.</para> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>build-vm</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Build a script that starts a NixOS virtual machine with | 
					
						
							|  |  |  |  |       the desired configuration.  It leaves a symlink | 
					
						
							|  |  |  |  |       <filename>result</filename> in the current directory that points | 
					
						
							|  |  |  |  |       (under | 
					
						
							|  |  |  |  |       <filename>result/bin/run-<replaceable>hostname</replaceable>-vm</filename>) | 
					
						
							|  |  |  |  |       at the script that starts the VM.  Thus, to test a NixOS | 
					
						
							|  |  |  |  |       configuration in a virtual machine, you should do the following: | 
					
						
							|  |  |  |  | <screen> | 
					
						
							|  |  |  |  | $ nixos-rebuild build-vm | 
					
						
							|  |  |  |  | $ ./result/bin/run-*-vm | 
					
						
							|  |  |  |  | </screen></para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-17 13:01:12 +02:00
										 |  |  |  |       <para>The VM is implemented using the <literal>qemu</literal> | 
					
						
							|  |  |  |  |       package.  For best performance, you should load the | 
					
						
							|  |  |  |  |       <literal>kvm-intel</literal> or <literal>kvm-amd</literal> | 
					
						
							|  |  |  |  |       kernel modules to get hardware virtualisation.</para> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-20 14:24:39 +02:00
										 |  |  |  |       <para>The VM mounts the Nix store of the host through the 9P | 
					
						
							|  |  |  |  |       file system.  The host Nix store is read-only, so Nix commands | 
					
						
							|  |  |  |  |       that modify the Nix store will not work in the VM.  This | 
					
						
							|  |  |  |  |       includes commands such as <command>nixos-rebuild</command>; to | 
					
						
							|  |  |  |  |       change the VM’s configuration, you must halt the VM and re-run | 
					
						
							|  |  |  |  |       the commands above. | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |       </para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-20 14:24:39 +02:00
										 |  |  |  |       <para>The VM has its own <literal>ext3</literal> root file | 
					
						
							|  |  |  |  |       system, which is automatically created when the VM is first | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |       started, and is persistent across reboots of the VM.  It is | 
					
						
							| 
									
										
										
										
											2013-08-20 14:24:39 +02:00
										 |  |  |  |       stored in | 
					
						
							|  |  |  |  |       <literal>./<replaceable>hostname</replaceable>.qcow2</literal>. | 
					
						
							|  |  |  |  |       <!-- The entire file system hierarchy of the host is available in
 | 
					
						
							|  |  |  |  |       the VM under <filename>/hostfs</filename>.--></para> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-13 12:34:58 +00:00
										 |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>build-vm-with-bootloader</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Like <option>build-vm</option>, but boots using the | 
					
						
							|  |  |  |  |       regular boot loader of your configuration (e.g., GRUB 1 or 2), | 
					
						
							|  |  |  |  |       rather than booting directly into the kernel and initial ramdisk | 
					
						
							|  |  |  |  |       of the system.  This allows you to test whether the boot loader | 
					
						
							|  |  |  |  |       works correctly.  However, it does not guarantee that your NixOS | 
					
						
							|  |  |  |  |       configuration will boot successfully on the host hardware (i.e., | 
					
						
							|  |  |  |  |       after running <command>nixos-rebuild switch</command>), because | 
					
						
							|  |  |  |  |       the hardware and boot loader configuration in the VM are | 
					
						
							|  |  |  |  |       different.  The boot loader is installed on an automatically | 
					
						
							|  |  |  |  |       generated virtual disk containing a <filename>/boot</filename> | 
					
						
							|  |  |  |  |       partition, which is mounted read-only in the VM.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  | </variablelist> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | </para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | </refsection> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <refsection><title>Options</title> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <para>This command accepts the following options:</para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <variablelist> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-06-25 16:17:34 -04:00
										 |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>--upgrade</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Fetch the latest version of NixOS from the NixOS | 
					
						
							|  |  |  |  |       channel.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |   <varlistentry> | 
					
						
							| 
									
										
										
										
											2016-08-16 07:51:58 -04:00
										 |  |  |  |     <term><option>--install-bootloader</option></term> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |     <listitem> | 
					
						
							| 
									
										
										
										
											2016-08-16 07:51:58 -04:00
										 |  |  |  |       <para>Causes the boot loader to be (re)installed on the | 
					
						
							|  |  |  |  |       device specified by the relevant configuration options. | 
					
						
							|  |  |  |  |       </para> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>--no-build-nix</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Normally, <command>nixos-rebuild</command> first builds | 
					
						
							|  |  |  |  |       the <varname>nixUnstable</varname> attribute in Nixpkgs, and | 
					
						
							|  |  |  |  |       uses the resulting instance of the Nix package manager to build | 
					
						
							|  |  |  |  |       the new system configuration.  This is necessary if the NixOS | 
					
						
							|  |  |  |  |       modules use features not provided by the currently installed | 
					
						
							|  |  |  |  |       version of Nix.  This option disables building a new Nix.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>--fast</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							| 
									
										
										
										
											2012-06-25 16:08:19 -04:00
										 |  |  |  |       <para>Equivalent to <option>--no-build-nix</option> | 
					
						
							|  |  |  |  |       <option>--show-trace</option>.  This option is useful if you | 
					
						
							|  |  |  |  |       call <command>nixos-rebuild</command> frequently (e.g. if you’re | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |       hacking on a NixOS module).</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>--rollback</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Instead of building a new configuration as specified by | 
					
						
							|  |  |  |  |       <filename>/etc/nixos/configuration.nix</filename>, roll back to | 
					
						
							|  |  |  |  |       the previous configuration.  (The previous configuration is | 
					
						
							|  |  |  |  |       defined as the one before the “current” generation of the | 
					
						
							| 
									
										
										
										
											2013-10-11 14:07:53 +02:00
										 |  |  |  |       Nix profile <filename>/nix/var/nix/profiles/system</filename>.)</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>--profile-name</option></term> | 
					
						
							|  |  |  |  |     <term><option>-p</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Instead of using the Nix profile | 
					
						
							|  |  |  |  |       <filename>/nix/var/nix/profiles/system</filename> to keep track | 
					
						
							|  |  |  |  |       of the current and previous system configurations, use | 
					
						
							|  |  |  |  |       <filename>/nix/var/nix/profiles/system-profiles/<replaceable>name</replaceable></filename>. | 
					
						
							|  |  |  |  |       When you use GRUB 2, for every system profile created with this | 
					
						
							|  |  |  |  |       flag, NixOS will create a submenu named “NixOS - Profile | 
					
						
							|  |  |  |  |       '<replaceable>name</replaceable>'” in GRUB’s boot menu, | 
					
						
							|  |  |  |  |       containing the current and previous configurations of this | 
					
						
							|  |  |  |  |       profile.</para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       <para>For instance, if you want to test a configuration file | 
					
						
							|  |  |  |  |       named <filename>test.nix</filename> without affecting the | 
					
						
							|  |  |  |  |       default system profile, you would do: | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <screen> | 
					
						
							|  |  |  |  | $ nixos-rebuild switch -p test -I nixos-config=./test.nix | 
					
						
							|  |  |  |  | </screen> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       The new configuration will appear in the GRUB 2 submenu “NixOS - Profile | 
					
						
							|  |  |  |  |       'test'”.</para> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-23 12:22:16 +01:00
										 |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>--build-host</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Instead of building the new configuration locally, use the | 
					
						
							|  |  |  |  |       specified host to perform the build. The host needs to be accessible | 
					
						
							|  |  |  |  |       with ssh, and must be able to perform Nix builds. If the option | 
					
						
							|  |  |  |  |       <option>--target-host</option> is not set, the build will be copied back | 
					
						
							|  |  |  |  |       to the local machine when done.</para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       <para>Note that, if <option>--no-build-nix</option> is not specified, | 
					
						
							|  |  |  |  |       Nix will be built both locally and remotely. This is because the | 
					
						
							|  |  |  |  |       configuration will always be evaluated locally even though the building | 
					
						
							|  |  |  |  |       might be performed remotely.</para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       <para>You can include a remote user name in | 
					
						
							|  |  |  |  |       the host name (<replaceable>user@host</replaceable>). You can also set | 
					
						
							|  |  |  |  |       ssh options by defining the <envar>NIX_SSHOPTS</envar> environment | 
					
						
							|  |  |  |  |       variable.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><option>--target-host</option></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>Specifies the NixOS target host. By setting this to something other | 
					
						
							|  |  |  |  |       than <replaceable>localhost</replaceable>, the system activation will | 
					
						
							|  |  |  |  |       happen on the remote host instead of the local machine. The remote host | 
					
						
							|  |  |  |  |       needs to be accessible over ssh, and for the commands | 
					
						
							|  |  |  |  |       <option>switch</option>, <option>boot</option> and <option>test</option> | 
					
						
							|  |  |  |  |       you need root access.</para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       <para>If <option>--build-host</option> is not explicitly | 
					
						
							|  |  |  |  |       specified, <option>--build-host</option> will implicitly be set to the | 
					
						
							|  |  |  |  |       same value as <option>--target-host</option>. So, if you only specify | 
					
						
							|  |  |  |  |       <option>--target-host</option> both building and activation will take | 
					
						
							|  |  |  |  |       place remotely (and no build artifacts will be copied to the local | 
					
						
							|  |  |  |  |       machine).</para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       <para>You can include a remote user name in | 
					
						
							|  |  |  |  |       the host name (<replaceable>user@host</replaceable>). You can also set | 
					
						
							|  |  |  |  |       ssh options by defining the <envar>NIX_SSHOPTS</envar> environment | 
					
						
							|  |  |  |  |       variable.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  | </variablelist> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <para>In addition, <command>nixos-rebuild</command> accepts various | 
					
						
							|  |  |  |  | Nix-related flags, including <option>--max-jobs</option> / | 
					
						
							|  |  |  |  | <option>-j</option>, <option>--show-trace</option>, | 
					
						
							|  |  |  |  | <option>--keep-failed</option>, <option>--keep-going</option> and | 
					
						
							|  |  |  |  | <option>--verbose</option> / <option>-v</option>.  See | 
					
						
							|  |  |  |  | the Nix manual for details.</para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | </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> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-23 12:22:16 +01:00
										 |  |  |  |   <varlistentry><term><envar>NIX_SSHOPTS</envar></term> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     <listitem><para>Additional options to be passed to | 
					
						
							|  |  |  |  |     <command>ssh</command> on the command line.</para></listitem> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  | </variablelist> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | </refsection> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <refsection><title>Files</title> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <variablelist> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							| 
									
										
										
										
											2012-07-23 03:19:02 +02:00
										 |  |  |  |     <term><filename>/run/current-system</filename></term> | 
					
						
							| 
									
										
										
										
											2009-12-09 15:05:13 +00:00
										 |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>A symlink to the currently active system configuration in | 
					
						
							|  |  |  |  |       the Nix store.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   <varlistentry> | 
					
						
							|  |  |  |  |     <term><filename>/nix/var/nix/profiles/system</filename></term> | 
					
						
							|  |  |  |  |     <listitem> | 
					
						
							|  |  |  |  |       <para>The Nix profile that contains the current and previous | 
					
						
							|  |  |  |  |       system configurations.  Used to generate the GRUB boot | 
					
						
							|  |  |  |  |       menu.</para> | 
					
						
							|  |  |  |  |     </listitem> | 
					
						
							|  |  |  |  |   </varlistentry> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | </variablelist> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | </refsection> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <refsection><title>Bugs</title> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <para>This command should be renamed to something more | 
					
						
							|  |  |  |  | descriptive.</para> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | </refsection> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | </refentry> |