diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index 3871e9ad9a57..29d96c28d80f 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -85,6 +85,9 @@ and called `setup.py` from the source tree, which is deprecated. The modern alternative is to configure `pyproject = true` with `build-system = [ setuptools ]`. +- `boot.enableContainers` is only turned on when a declarative NixOS container is defined in `containers`. + If you use the `nixos-container` tool for imperative container management, set `boot.enableContainers = true;` explicitly. + ### Deprecations {#sec-nixpkgs-release-25.11-lib-deprecations} - Create the first release note entry in this section! diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix index d692da48e30b..c86cd36ca0a3 100644 --- a/nixos/modules/virtualisation/nixos-containers.nix +++ b/nixos/modules/virtualisation/nixos-containers.nix @@ -518,10 +518,10 @@ in boot.enableContainers = mkOption { type = types.bool; - default = true; + default = config.containers != { }; + defaultText = lib.literalExpression "config.containers != { }"; description = '' - Whether to enable support for NixOS containers. Defaults to true - (at no cost if containers are not actually used). + Whether to enable support for NixOS containers. ''; }; @@ -861,7 +861,8 @@ in # Removed option. See `checkAssertion` below for the accompanying error message. pkgs = mkOption { visible = false; }; - } // networkOptions; + } + // networkOptions; config = let