This reverts commit ea6e8775bd69e4676c623a85c39f1da540d29ad1. The new format is not an improvement.
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<section 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="sec-importing-modules">
 | 
						|
 <title>Importing Modules</title>
 | 
						|
 | 
						|
 <para>
 | 
						|
  Sometimes NixOS modules need to be used in configuration but exist outside of
 | 
						|
  Nixpkgs. These modules can be imported:
 | 
						|
 </para>
 | 
						|
 | 
						|
<programlisting>
 | 
						|
{ config, lib, pkgs, ... }:
 | 
						|
 | 
						|
{
 | 
						|
  imports =
 | 
						|
    [ # Use a locally-available module definition in
 | 
						|
      # ./example-module/default.nix
 | 
						|
        ./example-module
 | 
						|
    ];
 | 
						|
 | 
						|
  services.exampleModule.enable = true;
 | 
						|
}
 | 
						|
</programlisting>
 | 
						|
 | 
						|
 <para>
 | 
						|
  The environment variable <literal>NIXOS_EXTRA_MODULE_PATH</literal> is an
 | 
						|
  absolute path to a NixOS module that is included alongside the Nixpkgs NixOS
 | 
						|
  modules. Like any NixOS module, this module can import additional modules:
 | 
						|
 </para>
 | 
						|
 | 
						|
<programlisting>
 | 
						|
# ./module-list/default.nix
 | 
						|
[
 | 
						|
  ./example-module1
 | 
						|
  ./example-module2
 | 
						|
]
 | 
						|
</programlisting>
 | 
						|
 | 
						|
<programlisting>
 | 
						|
# ./extra-module/default.nix
 | 
						|
{ imports = import ./module-list.nix; }
 | 
						|
</programlisting>
 | 
						|
 | 
						|
<programlisting>
 | 
						|
# NIXOS_EXTRA_MODULE_PATH=/absolute/path/to/extra-module
 | 
						|
{ config, lib, pkgs, ... }:
 | 
						|
 | 
						|
{
 | 
						|
  # No `imports` needed
 | 
						|
 | 
						|
  services.exampleModule1.enable = true;
 | 
						|
}
 | 
						|
</programlisting>
 | 
						|
</section>
 |