diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 9903ceec0e36..ba9eae53d35f 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -34,7 +34,7 @@ let hasBlocklistedLicense = assert areLicenseListsValid; attrs: hasLicense attrs && lib.lists.any (l: builtins.elem l blocklist) (lib.lists.toList attrs.meta.license); - allowBroken = config.allowBroken or false + allowBroken = config.allowBroken || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; allowUnsupportedSystem = config.allowUnsupportedSystem or false diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index cb713ec27730..6bff00f982d6 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -70,6 +70,17 @@ let ''; }; + allowBroken = mkOption { + type = types.bool; + default = false; + # getEnv part is in check-meta.nix + defaultText = literalExpression ''false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"''; + description = '' + Whether to allow broken packages. + + See Installing broken packages in the NixOS manual. + ''; + }; }; in {