GitHub PushEvent at 2014-02-14 04:04:40
Repository: nixpkgs
Actor: shlevy
Payload: {"shas":[["2ee5a6301ee51311958c42f82c1cc8acf6f64e0a","2ad57049e5a4c55c398e1a2fc9bf3e78fb5d7c3a@shealevy.com","Add submoduleWithExtraArgs option type\n\nAllows passing arguments besides config, options, lib and name to submodules","Shea Levy",true],["23fb096766d216e79d80865f1cfd2bca4bd235f9","2ad57049e5a4c55c398e1a2fc9bf3e78fb5d7c3a@shealevy.com","Add a dependentAttrsOf option type\n\nThis is an attribute set of elements whose types can depend on the attr name","Shea Levy",true],["54ee615d5a25a1de8d19fd516d9689fe4edc965a","2ad57049e5a4c55c398e1a2fc9bf3e78fb5d7c3a@shealevy.com","Reuse merge code to merge inner values of container option types\n\nIn particular, this allows use of properties on individual elements of a\ncontainer type. For example, fileSystems.\"/\" = mkMerge [ a b ]; is now\nlegal. Also, checking the type of the inner value is now handled by the\nmerge code, reducing duplication.","Shea Levy",true],["be4906e856cff245bd9b7ce55e5ef8a70d63252a","2ad57049e5a4c55c398e1a2fc9bf3e78fb5d7c3a@shealevy.com","Add mkMap property to the module system\n\nThis allows specifying configuration that should be merged in with some\nor all elements of a container option (e.g. listOf, attrsOf) without\nneeding to know whether those elements are actually defined elsewhere.\n\nFor example, this will default the fsType of all filesystems except\n/boot to btrfs (and leaves /boot alone):\n\n    fileSystems = mkMap (name: mkIf (name != \"/boot\") {\n      fsType = mkDefault \"btrfs\";\n    });\n\nmkMap takes a function which takes an index of an element and returns a\nvalue to be merged in with the other definitions for that element. For\nsets, the index is just the attribute name. For lists, the mkMap\nfunction is passed two arguments: The index of the relevant definition\nin the list of all definitions for that option, and the index of the\nelement within that definition.","Shea Levy",true]],"size":4,"ref":"refs/heads/new-types","head":"be4906e856cff245bd9b7ce55e5ef8a70d63252a"}