Importing Modules
Sometimes NixOS modules need to be used in configuration but exist outside of
Nixpkgs. These modules can be imported:
{ config, lib, pkgs, ... }:
{
imports =
[ # Use a locally-available module definition in
# ./example-module/default.nix
./example-module
];
services.exampleModule.enable = true;
}
The environment variable NIXOS_EXTRA_MODULE_PATH 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:
# ./module-list/default.nix
[
./example-module1
./example-module2
]
# ./extra-module/default.nix
{ imports = import ./module-list.nix; }
# NIXOS_EXTRA_MODULE_PATH=/absolute/path/to/extra-module
{ config, lib, pkgs, ... }:
{
# No `imports` needed
services.exampleModule1.enable = true;
}