Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: c599bd8192e4
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 9ece83c251ab
Choose a head ref
  • 1 commit
  • 2 files changed
  • 1 contributor

Commits on Apr 28, 2018

  1. lib/eval-config: document NIXOS_EXTRA_MODULE_PATH

    This adds some documentation about importing modules external to
    Nixpkgs, which provides context for documenting
    NIXOS_EXTRA_MODULE_PATH.
    
    Closes #30376
    
    (cherry picked from commit 1cc97be)
    ryantm authored and grahamc committed Apr 28, 2018
    Copy the full SHA
    9ece83c View commit details
Showing with 60 additions and 0 deletions.
  1. +59 −0 nixos/doc/manual/development/importing-modules.xml
  2. +1 −0 nixos/doc/manual/development/writing-modules.xml
59 changes: 59 additions & 0 deletions nixos/doc/manual/development/importing-modules.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<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>
1 change: 1 addition & 0 deletions nixos/doc/manual/development/writing-modules.xml
Original file line number Diff line number Diff line change
@@ -180,6 +180,7 @@ in {
<xi:include href="option-def.xml" />
<xi:include href="assertions.xml" />
<xi:include href="meta-attributes.xml" />
<xi:include href="importing-modules.xml" />
<xi:include href="replace-modules.xml" />

</chapter>