about summary refs log tree commit diff
path: root/nixos/modules/misc
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/misc')
-rw-r--r--nixos/modules/misc/meta.nix1
-rw-r--r--nixos/modules/misc/nixpkgs.nix49
2 files changed, 23 insertions, 27 deletions
diff --git a/nixos/modules/misc/meta.nix b/nixos/modules/misc/meta.nix
index 9a453172c63a9..22622706f2c88 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 511831ae5cd2f..5eb38c510b483 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