<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>