diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index a6f927c287da..6fbd78c422da 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -75,7 +75,7 @@ rec {
inherit (bootstrapFiles) mkdir bzip2 cpio tarball;
__impureHostDeps = commonImpureHostDeps;
- } // lib.optionalAttrs (config.contentAddressedByDefault or false) {
+ } // lib.optionalAttrs config.contentAddressedByDefault {
__contentAddressed = true;
outputHashAlgo = "sha256";
outputHashMode = "recursive";
diff --git a/pkgs/stdenv/freebsd/default.nix b/pkgs/stdenv/freebsd/default.nix
index ddcdc6a66e08..de6608587605 100644
--- a/pkgs/stdenv/freebsd/default.nix
+++ b/pkgs/stdenv/freebsd/default.nix
@@ -182,7 +182,7 @@ in
buildInputs = [ make ];
mkdir = "/bin/mkdir";
ln = "/bin/ln";
- } // lib.optionalAttrs (config.contentAddressedByDefault or false) {
+ } // lib.optionalAttrs config.contentAddressedByDefault {
__contentAddressed = true;
outputHashAlgo = "sha256";
outputHashMode = "recursive";
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 4fb98e5e8013..5f49aca5aa91 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -90,7 +90,7 @@ let
allowedRequisites = allowedRequisites
++ defaultNativeBuildInputs ++ defaultBuildInputs;
}
- // lib.optionalAttrs (config.contentAddressedByDefault or false) {
+ // lib.optionalAttrs config.contentAddressedByDefault {
__contentAddressed = true;
outputHashAlgo = "sha256";
outputHashMode = "recursive";
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index edfb43f7cd07..d1b93874a25a 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -93,7 +93,7 @@ in
, __contentAddressed ?
(! attrs ? outputHash) # Fixed-output drvs can't be content addressed too
- && (config.contentAddressedByDefault or false)
+ && config.contentAddressedByDefault
, ... } @ attrs:
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index e9104dd88cfa..5c5ca64b1e95 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -66,7 +66,7 @@ let
bootstrapTools = import (if localSystem.libc == "musl" then ./bootstrap-tools-musl else ./bootstrap-tools) {
inherit system bootstrapFiles;
extraAttrs = lib.optionalAttrs
- (config.contentAddressedByDefault or false)
+ config.contentAddressedByDefault
{
__contentAddressed = true;
outputHashAlgo = "sha256";
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 2263341b23fc..d23a996dfcb4 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -235,7 +235,7 @@ in with pkgs; rec {
bootstrapTools =
let extraAttrs = lib.optionalAttrs
- (config.contentAddressedByDefault or false)
+ config.contentAddressedByDefault
{
__contentAddressed = true;
outputHashAlgo = "sha256";
diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix
index 98e87d7f5ace..1ee44a47af9f 100644
--- a/pkgs/top-level/config.nix
+++ b/pkgs/top-level/config.nix
@@ -36,6 +36,10 @@ let
feature = "set strictDeps to true by default";
};
+ contentAddressedByDefault = mkMassRebuild {
+ feature = "set __contentAddressed to true by default";
+ };
+
allowAliases = mkOption {
type = types.bool;
default = true;