nixos/eval-config: Deprecate NIXOS_EXTRA_MODULE_PATH (#349549)
This commit is contained in:
@@ -16,31 +16,3 @@ outside of Nixpkgs. These modules can be imported:
|
|||||||
services.exampleModule.enable = true;
|
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:
|
|
||||||
|
|
||||||
```nix
|
|
||||||
# ./module-list/default.nix
|
|
||||||
[
|
|
||||||
./example-module1
|
|
||||||
./example-module2
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
```nix
|
|
||||||
# ./extra-module/default.nix
|
|
||||||
{ imports = import ./module-list.nix; }
|
|
||||||
```
|
|
||||||
|
|
||||||
```nix
|
|
||||||
# NIXOS_EXTRA_MODULE_PATH=/absolute/path/to/extra-module
|
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# No `imports` needed
|
|
||||||
|
|
||||||
services.exampleModule1.enable = true;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ file.
|
|||||||
- `buildDocsInSandbox` indicates whether the option documentation for the
|
- `buildDocsInSandbox` indicates whether the option documentation for the
|
||||||
module can be built in a derivation sandbox. This option is currently only
|
module can be built in a derivation sandbox. This option is currently only
|
||||||
honored for modules shipped by nixpkgs. User modules and modules taken from
|
honored for modules shipped by nixpkgs. User modules and modules taken from
|
||||||
`NIXOS_EXTRA_MODULE_PATH` are always built outside of the sandbox, as has
|
`extraModules` are always built outside of the sandbox, as has
|
||||||
been the case in previous releases.
|
been the case in previous releases.
|
||||||
|
|
||||||
Building NixOS option documentation in a sandbox allows caching of the built
|
Building NixOS option documentation in a sandbox allows caching of the built
|
||||||
|
|||||||
@@ -30,8 +30,29 @@ evalConfigArgs@
|
|||||||
check ? true
|
check ? true
|
||||||
, prefix ? []
|
, prefix ? []
|
||||||
, lib ? import ../../lib
|
, lib ? import ../../lib
|
||||||
, extraModules ? let e = builtins.getEnv "NIXOS_EXTRA_MODULE_PATH";
|
, extraModules ?
|
||||||
in lib.optional (e != "") (import e)
|
let e = builtins.getEnv "NIXOS_EXTRA_MODULE_PATH";
|
||||||
|
in lib.optional (e != "") (
|
||||||
|
lib.warn
|
||||||
|
''
|
||||||
|
The NIXOS_EXTRA_MODULE_PATH environment variable is deprecated and will be
|
||||||
|
removed in NixOS 25.05.
|
||||||
|
We recommend a workflow where you update the expression files instead, but
|
||||||
|
if you wish to continue to use this variable, you may do so with a module like:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(builtins.getEnv "NIXOS_EXTRA_MODULE_PATH")
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
This has the benefit that your configuration hints at the
|
||||||
|
non-standard workflow.
|
||||||
|
''
|
||||||
|
# NOTE: this import call is unnecessary and it even removes the file name
|
||||||
|
# from error messages.
|
||||||
|
import e
|
||||||
|
)
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|||||||
Reference in New Issue
Block a user