diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 502343f01fb3..3f680254a729 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -55,7 +55,7 @@ let envVar = builtins.getEnv "NIXPKGS_ALLOW_NONSOURCE"; in if envVar != "" then envVar != "0" - else config.allowNonSource or true; + else config.allowNonSource; allowlist = config.allowlistedLicenses or config.whitelistedLicenses or []; blocklist = config.blocklistedLicenses or config.blacklistedLicenses or []; diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index f800ee5be865..9168753ecfac 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -12,6 +12,7 @@ let inherit (lib) literalExpression mapAttrsToList + mkEnableOption mkOption optionals types @@ -107,6 +108,15 @@ let ''; }; + allowNonSource = mkEnableOption "" // { + default = true; + defaultText = literalExpression ''true && builtins.getEnv "NIXPKGS_ALLOW_NONSOURCE" != "0"''; + description = '' + Whether to allow non-source packages. + Can be combined with `config.allowNonSourcePredicate`. + ''; + }; + allowBroken = mkOption { type = types.bool; default = false;