about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2016-03-01 02:39:30 +0100
committeraszlig <aszlig@redmoonstudios.org>2016-03-01 02:39:30 +0100
commite640ab724147c51272090f429edcf8376626ed45 (patch)
treeb81ffed29586bae31a193d24442c8d7b696586d0 /modules
parent451caa12b3a7d0c50d122295a7a35895a1238f8b (diff)
programs/git: Flesh out type info for Git config
This now is a little more accurate than providing the name and a
propagation of types.unspecified.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'modules')
-rw-r--r--modules/user/aszlig/programs/git/default.nix11
1 files changed, 3 insertions, 8 deletions
diff --git a/modules/user/aszlig/programs/git/default.nix b/modules/user/aszlig/programs/git/default.nix
index 0090b617..62f0218c 100644
--- a/modules/user/aszlig/programs/git/default.nix
+++ b/modules/user/aszlig/programs/git/default.nix
@@ -44,14 +44,9 @@ in {
     config = mkOption {
       description = "System-wide default config for Git";
 
-      type = let
-        superType = types.attrsOf types.unspecified;
-      in mkOptionType {
-        name = "attribute set of either plain values or "
-             + "attribute sets of values (if it is a subsection)";
-        inherit (superType) check merge;
-        inherit (superType) getSubOptions getSubModules substSubModules;
-      };
+      type = with types; let
+        value = either (either bool int) str;
+      in attrsOf (either (attrsOf value) value);
 
       default = {};
       example = {