diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index 5219c1329e36..a00cb34b9c49 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -93,6 +93,16 @@
compatible.
+
+
+ i18n.supportedLocales is now by default
+ only generated with the default locale set in
+ i18n.defaultLocale. This got copied over
+ from the minimal profile and reduces the final system size by
+ 200MB. If you require all locales installed set the option to
+ [ "all" ].
+
+
The isPowerPC predicate, found on
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index 0f04eff7c045..244c6f0901f8 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -43,6 +43,10 @@ In addition to numerous new and upgraded packages, this release has the followin
`lib.systems.parse.isCompatible` still exists, but has changed semantically:
Architectures with differing endianness modes are *no longer considered compatible*.
+- `i18n.supportedLocales` is now by default only generated with the default locale set in `i18n.defaultLocale`.
+ This got copied over from the minimal profile and reduces the final system size by 200MB.
+ If you require all locales installed set the option to ``[ "all" ]``.
+
- The `isPowerPC` predicate, found on `platform` attrsets (`hostPlatform`, `buildPlatform`, `targetPlatform`, etc) has been removed in order to reduce confusion. The predicate was was defined such that it matches only the 32-bit big-endian members of the POWER/PowerPC family, despite having a name which would imply a broader set of systems. If you were using this predicate, you can replace `foo.isPowerPC` with `(with foo; isPower && is32bit && isBigEndian)`.
- PHP 7.4 is no longer supported due to upstream not supporting this
diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix
index 5b8d5b214496..53dd325457e0 100644
--- a/nixos/modules/config/i18n.nix
+++ b/nixos/modules/config/i18n.nix
@@ -53,7 +53,8 @@ with lib;
supportedLocales = mkOption {
type = types.listOf types.str;
- default = ["all"];
+ default = [ (config.i18n.defaultLocale + "/UTF-8") ];
+ defaultText = literalExpression "[ (config.i18n.defaultLocale + \"/UTF-8\") ]";
example = ["en_US.UTF-8/UTF-8" "nl_NL.UTF-8/UTF-8" "nl_NL/ISO-8859-1"];
description = ''
List of locales that the system should support. The value
diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix
index e79b92723841..0e65989214a1 100644
--- a/nixos/modules/profiles/minimal.nix
+++ b/nixos/modules/profiles/minimal.nix
@@ -8,9 +8,6 @@ with lib;
{
environment.noXlibs = mkDefault true;
- # This isn't perfect, but let's expect the user specifies an UTF-8 defaultLocale
- i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ];
-
documentation.enable = mkDefault false;
documentation.nixos.enable = mkDefault false;