diff options
Diffstat (limited to 'nixos/doc/manual/from_md/development/importing-modules.section.xml')
-rw-r--r-- | nixos/doc/manual/from_md/development/importing-modules.section.xml | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/nixos/doc/manual/from_md/development/importing-modules.section.xml b/nixos/doc/manual/from_md/development/importing-modules.section.xml new file mode 100644 index 00000000000..cb04dde67c8 --- /dev/null +++ b/nixos/doc/manual/from_md/development/importing-modules.section.xml @@ -0,0 +1,47 @@ +<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" 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 language="bash"> +{ 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 language="bash"> +# ./module-list/default.nix +[ + ./example-module1 + ./example-module2 +] +</programlisting> + <programlisting language="bash"> +# ./extra-module/default.nix +{ imports = import ./module-list.nix; } +</programlisting> + <programlisting language="bash"> +# NIXOS_EXTRA_MODULE_PATH=/absolute/path/to/extra-module +{ config, lib, pkgs, ... }: + +{ + # No `imports` needed + + services.exampleModule1.enable = true; +} +</programlisting> +</section> |