Unverified Commit a8d0d315 authored by Johannes Kirschbauer's avatar Johannes Kirschbauer Committed by GitHub
Browse files

Revert "lib/modules: disallow setting config, options in specialArgs of evalModules"

parent c5e2528c
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -5,7 +5,6 @@ let
    addErrorContext
    all
    any
    assertMsg
    attrByPath
    attrNames
    catAttrs
@@ -102,8 +101,6 @@ let
                , # This would be remove in the future, Prefer _module.check option instead.
                  check ? true
                }:
    assert assertMsg (!specialArgs?config) "Do not set config in the specialArgs argument to evalModules.";
    assert assertMsg (!specialArgs?options) "Do not set options in the specialArgs argument to evalModules.";
    let
      withWarnings = x:
        warnIf (evalModulesArgs?args) "The args argument to evalModules is deprecated. Please set config._module.args instead."
+0 −3
Original line number Diff line number Diff line
@@ -137,9 +137,6 @@ checkConfigOutput '^true$' config.result ./module-argument-default.nix
# gvariant
checkConfigOutput '^true$' config.assertion ./gvariant.nix

# specialArgs checks for evalModules
checkConfigError 'Do not set config in the specialArgs argument to evalModules\.' config.fail.config ./specialArgs-config.nix
checkConfigError 'Do not set options in the specialArgs argument to evalModules\.' config.fail.config ./specialArgs-options.nix
checkConfigOutput '"ok"' config.result ./specialArgs-lib.nix

# https://github.com/NixOS/nixpkgs/pull/131205
+0 −18
Original line number Diff line number Diff line
{ lib, ... }:
{
  config = {
    _module.freeformType = lib.types.anything;

    fail = lib.evalModules {
      specialArgs = {
        config = { };
      };
      modules = [
        {
          options.a = lib.mkEnableOption "a";
          config.a = true;
        }
      ];
    };
  };
}
+0 −18
Original line number Diff line number Diff line
{ lib, ... }:
{
  config = {
    _module.freeformType = lib.types.anything;

    fail = lib.evalModules {
      specialArgs = {
        options = { };
      };
      modules = [
        {
          options.a = lib.mkEnableOption "a";
          config.a = true;
        }
      ];
    };
  };
}