The use of Nix 2.0 significantly simplifies the installer, since we can just pass a different store URI (--store /mnt) - it's no longer needed to set up a chroot environment for the build, and to bootstrap Nix into the chroot. Also, commands that need to run in the installation (namely boot loader installation and setting a root password) are now executed using nixos-enter. This also removes the need for nixos-prepare-root since any required initialisation is done by Nix or by the activation script.
		
			
				
	
	
		
			30 lines
		
	
	
		
			793 B
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			793 B
		
	
	
	
		
			XML
		
	
	
	
	
	
<chapter xmlns="http://docbook.org/ns/docbook"
 | 
						|
        xmlns:xlink="http://www.w3.org/1999/xlink"
 | 
						|
        xmlns:xi="http://www.w3.org/2001/XInclude"
 | 
						|
        version="5.0"
 | 
						|
        xml:id="ch-testing-installer">
 | 
						|
 | 
						|
<title>Testing the Installer</title>
 | 
						|
 | 
						|
<para>Building, burning, and booting from an installation CD is rather
 | 
						|
tedious, so here is a quick way to see if the installer works
 | 
						|
properly:
 | 
						|
 | 
						|
<screen>
 | 
						|
# mount -t tmpfs none /mnt
 | 
						|
# nixos-generate-config --root /mnt
 | 
						|
$ nix-build '<nixpkgs/nixos>' -A config.system.build.nixos-install
 | 
						|
# ./result/bin/nixos-install</screen>
 | 
						|
 | 
						|
To start a login shell in the new NixOS installation in
 | 
						|
<filename>/mnt</filename>:
 | 
						|
 | 
						|
<screen>
 | 
						|
$ nix-build '<nixpkgs/nixos>' -A config.system.build.nixos-enter
 | 
						|
# ./result/bin/nixos-enter
 | 
						|
</screen>
 | 
						|
 | 
						|
</para>
 | 
						|
 | 
						|
</chapter>
 |