1# Importing Modules {#sec-importing-modules}
2
3Sometimes NixOS modules need to be used in configuration but exist
4outside of Nixpkgs. These modules can be imported:
5
6```nix
7{ config, lib, pkgs, ... }:
8
9{
10 imports =
11 [ # Use a locally-available module definition in
12 # ./example-module/default.nix
13 ./example-module
14 ];
15
16 services.exampleModule.enable = true;
17}
18```
19
20The environment variable `NIXOS_EXTRA_MODULE_PATH` is an absolute path
21to a NixOS module that is included alongside the Nixpkgs NixOS modules.
22Like any NixOS module, this module can import additional modules:
23
24```nix
25# ./module-list/default.nix
26[
27 ./example-module1
28 ./example-module2
29]
30```
31
32```nix
33# ./extra-module/default.nix
34{ imports = import ./module-list.nix; }
35```
36
37```nix
38# NIXOS_EXTRA_MODULE_PATH=/absolute/path/to/extra-module
39{ config, lib, pkgs, ... }:
40
41{
42 # No `imports` needed
43
44 services.exampleModule1.enable = true;
45}
46```