nixpkgs.config is not subject to the normal merging lib.mkMerge semantic.
{
imports = [
{ nixpkgs.config.allowUnfreePredicate = x: false; }
{ nixpkgs.config.allowUnfreePredicate = x: true; }
];
}
The snippet above would evaluate to nixpkgs.config.allowUnfreePredicate = false instead of saying the option has been defined multiple times.
Furthermore I would like to see this option being merged with lib.types.functionTo lib.types.boolByOr, so we merge these definitions point-wise returning true on any predicate satisfied.
nixpkgs.configis not subject to the normal merging lib.mkMerge semantic.The snippet above would evaluate to
nixpkgs.config.allowUnfreePredicate = falseinstead of saying the option has been defined multiple times.Furthermore I would like to see this option being merged with
lib.types.functionTo lib.types.boolByOr, so we merge these definitions point-wise returning true on any predicate satisfied.