 2c4d9c9228
			
		
	
	
		2c4d9c9228
		
			
		
	
	
	
	
		
			
			Add link to "Configuration" chapter from "Changing the Configuration" section. Also, fix grammar error. (cherry picked from commit a585f987fa32f2e81b3f273291971151c25f98b7)
		
			
				
	
	
		
			91 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <chapter xmlns="http://docbook.org/ns/docbook"
 | ||
|          xmlns:xlink="http://www.w3.org/1999/xlink"
 | ||
|          version="5.0"
 | ||
|          xml:id="sec-changing-config">
 | ||
| 
 | ||
| <title>Changing the Configuration</title>
 | ||
| 
 | ||
| <para>The file <filename>/etc/nixos/configuration.nix</filename>
 | ||
| contains the current configuration of your machine.  Whenever you’ve
 | ||
| <link linkend="ch-configuration">changed something</link> in that file, you should do
 | ||
| 
 | ||
| <screen>
 | ||
| # nixos-rebuild switch</screen>
 | ||
| 
 | ||
| to build the new configuration, make it the default configuration for
 | ||
| booting, and try to realise the configuration in the running system
 | ||
| (e.g., by restarting system services).</para>
 | ||
| 
 | ||
| <warning><para>These commands must be executed as root, so you should
 | ||
| either run them from a root shell or by prefixing them with
 | ||
| <literal>sudo -i</literal>.</para></warning>
 | ||
| 
 | ||
| <para>You can also do
 | ||
| 
 | ||
| <screen>
 | ||
| # nixos-rebuild test</screen>
 | ||
| 
 | ||
| to build the configuration and switch the running system to it, but
 | ||
| without making it the boot default.  So if (say) the configuration
 | ||
| locks up your machine, you can just reboot to get back to a working
 | ||
| configuration.</para>
 | ||
| 
 | ||
| <para>There is also
 | ||
| 
 | ||
| <screen>
 | ||
| # nixos-rebuild boot</screen>
 | ||
| 
 | ||
| to build the configuration and make it the boot default, but not
 | ||
| switch to it now (so it will only take effect after the next
 | ||
| reboot).</para>
 | ||
| 
 | ||
| <para>You can make your configuration show up in a different submenu
 | ||
| of the GRUB 2 boot screen by giving it a different <emphasis>profile
 | ||
| name</emphasis>, e.g.
 | ||
| 
 | ||
| <screen>
 | ||
| # nixos-rebuild switch -p test </screen>
 | ||
| 
 | ||
| which causes the new configuration (and previous ones created using
 | ||
| <literal>-p test</literal>) to show up in the GRUB submenu “NixOS -
 | ||
| Profile 'test'”.  This can be useful to separate test configurations
 | ||
| from “stable” configurations.</para>
 | ||
| 
 | ||
| <para>Finally, you can do
 | ||
| 
 | ||
| <screen>
 | ||
| $ nixos-rebuild build</screen>
 | ||
| 
 | ||
| to build the configuration but nothing more.  This is useful to see
 | ||
| whether everything compiles cleanly.</para>
 | ||
| 
 | ||
| <para>If you have a machine that supports hardware virtualisation, you
 | ||
| can also test the new configuration in a sandbox by building and
 | ||
| running a QEMU <emphasis>virtual machine</emphasis> that contains the
 | ||
| desired configuration.  Just do
 | ||
| 
 | ||
| <screen>
 | ||
| $ nixos-rebuild build-vm
 | ||
| $ ./result/bin/run-*-vm
 | ||
| </screen>
 | ||
| 
 | ||
| The VM does not have any data from your host system, so your existing
 | ||
| user accounts and home directories will not be available.  You can
 | ||
| forward ports on the host to the guest.  For instance, the following
 | ||
| will forward host port 2222 to guest port 22 (SSH):
 | ||
| 
 | ||
| <screen>
 | ||
| $ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm
 | ||
| </screen>
 | ||
| 
 | ||
| allowing you to log in via SSH (assuming you have set the appropriate
 | ||
| passwords or SSH authorized keys):
 | ||
| 
 | ||
| <screen>
 | ||
| $ ssh -p 2222 localhost
 | ||
| </screen>
 | ||
| 
 | ||
| </para>
 | ||
| 
 | ||
| </chapter>
 |