21.05 beta release
[NixPkgs.git] / pkgs / top-level / config.nix
blob7a5b4bdd1798926108606e733bd2b2e40da3ed1b
1 # This file defines the structure of the `config` nixpkgs option.
3 { lib, ... }:
5 with lib;
7 let
9   mkMassRebuild = args: mkOption (builtins.removeAttrs args [ "feature" ] // {
10     type = args.type or (types.uniq types.bool);
11     default = args.default or false;
12     description = (args.description or ''
13       Whether to ${args.feature} while building nixpkgs packages.
14     '') + ''
15       Changing the default may cause a mass rebuild.
16     '';
17   });
19   options = {
21     /* Internal stuff */
23     warnings = mkOption {
24       type = types.listOf types.str;
25       default = [];
26       internal = true;
27     };
29     /* Config options */
31     doCheckByDefault = mkMassRebuild {
32       feature = "run <literal>checkPhase</literal> by default";
33     };
35   };
37 in {
39   inherit options;