42 lines
		
	
	
		
			778 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			778 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
# This file defines the structure of the `config` nixpkgs option.
 | 
						|
 | 
						|
{ lib, ... }:
 | 
						|
 | 
						|
with lib;
 | 
						|
 | 
						|
let
 | 
						|
 | 
						|
  mkMassRebuild = args: mkOption (builtins.removeAttrs args [ "feature" ] // {
 | 
						|
    type = args.type or (types.uniq types.bool);
 | 
						|
    default = args.default or false;
 | 
						|
    description = (args.description or ''
 | 
						|
      Whether to ${args.feature} while building nixpkgs packages.
 | 
						|
    '') + ''
 | 
						|
      Changing the default may cause a mass rebuild.
 | 
						|
    '';
 | 
						|
  });
 | 
						|
 | 
						|
  options = {
 | 
						|
 | 
						|
    /* Internal stuff */
 | 
						|
 | 
						|
    warnings = mkOption {
 | 
						|
      type = types.listOf types.str;
 | 
						|
      default = [];
 | 
						|
      internal = true;
 | 
						|
    };
 | 
						|
 | 
						|
    /* Config options */
 | 
						|
 | 
						|
    doCheckByDefault = mkMassRebuild {
 | 
						|
      feature = "run <literal>checkPhase</literal> by default";
 | 
						|
    };
 | 
						|
 | 
						|
  };
 | 
						|
 | 
						|
in {
 | 
						|
 | 
						|
  inherit options;
 | 
						|
 | 
						|
}
 |