From f3d94cfc23a2787772a369e2ca9e0cd94e72b8b3 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 1 Mar 2016 20:47:08 +0100 Subject: Revert "Add the tool "nixos-typecheck" that can check an option declaration to:" This reverts commit cad8957eabcbf73062226d28366fd446c15c8737. It breaks NixOps, but more importantly, such major changes to the module system really need to be reviewed. --- nixos/modules/misc/meta.nix | 1 - nixos/modules/misc/nixpkgs.nix | 49 ++++++++++++++++++++---------------------- 2 files changed, 23 insertions(+), 27 deletions(-) (limited to 'nixos/modules/misc') diff --git a/nixos/modules/misc/meta.nix b/nixos/modules/misc/meta.nix index 9a453172c63a..22622706f2c8 100644 --- a/nixos/modules/misc/meta.nix +++ b/nixos/modules/misc/meta.nix @@ -5,7 +5,6 @@ with lib; let maintainer = mkOptionType { name = "maintainer"; - typerep = "(maintainer)"; check = email: elem email (attrValues lib.maintainers); merge = loc: defs: listToAttrs (singleton (nameValuePair (last defs).file (last defs).value)); }; diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index 511831ae5cd2..5eb38c510b48 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -3,35 +3,32 @@ with lib; let - nixpkgsConfig = pkgs: - let - isConfig = x: - builtins.isAttrs x || builtins.isFunction x; + isConfig = x: + builtins.isAttrs x || builtins.isFunction x; - optCall = f: x: - if builtins.isFunction f - then f x - else f; + optCall = f: x: + if builtins.isFunction f + then f x + else f; - mergeConfig = lhs_: rhs_: - let - lhs = optCall lhs_ { inherit pkgs; }; - rhs = optCall rhs_ { inherit pkgs; }; - in - lhs // rhs // - optionalAttrs (lhs ? packageOverrides) { - packageOverrides = pkgs: - optCall lhs.packageOverrides pkgs // - optCall (attrByPath ["packageOverrides"] ({}) rhs) pkgs; - }; + mergeConfig = lhs_: rhs_: + let + lhs = optCall lhs_ { inherit pkgs; }; + rhs = optCall rhs_ { inherit pkgs; }; in - mkOptionType { - name = "nixpkgs config"; - typerep = "(nixpkgsConfig)"; - check = lib.traceValIfNot isConfig; - merge = config: args: fold (def: mergeConfig def.value) {}; - defaultValues = [{}]; + lhs // rhs // + optionalAttrs (lhs ? packageOverrides) { + packageOverrides = pkgs: + optCall lhs.packageOverrides pkgs // + optCall (attrByPath ["packageOverrides"] ({}) rhs) pkgs; }; + + configType = mkOptionType { + name = "nixpkgs config"; + check = traceValIfNot isConfig; + merge = args: fold (def: mergeConfig def.value) {}; + }; + in { @@ -49,7 +46,7 @@ in }; } ''; - type = nixpkgsConfig pkgs; + type = configType; description = '' The configuration of the Nix Packages collection. (For details, see the Nixpkgs documentation.) It allows you to set -- cgit 1.4.1