diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix index fa2dc691d793..aa8f06d1c7f2 100644 --- a/nixos/modules/config/i18n.nix +++ b/nixos/modules/config/i18n.nix @@ -7,21 +7,22 @@ let sanitizeUTF8Capitalization = lang: (lib.replaceStrings [ "utf8" "utf-8" "UTF8" ] [ "UTF-8" "UTF-8" "UTF-8" ] lang); - aggregatedLocales = lib.optionals (config.i18n.defaultLocale != "C") [ - "${config.i18n.defaultLocale}/${config.i18n.defaultCharset}" - ] - ++ lib.pipe config.i18n.extraLocaleSettings [ - # See description of extraLocaleSettings for why is this ignored here. - (x: lib.removeAttrs x [ "LANGUAGE" ]) - (lib.mapAttrs (n: v: (sanitizeUTF8Capitalization v))) - # C locales are always installed - (lib.filterAttrs (n: v: v != "C")) - (lib.mapAttrsToList (LCRole: lang: lang + "/" + (config.i18n.localeCharsets.${LCRole} or "UTF-8"))) - ] - ++ (map sanitizeUTF8Capitalization ( - lib.optionals (builtins.isList config.i18n.extraLocales) config.i18n.extraLocales - )) - ++ (lib.optional (builtins.isString config.i18n.extraLocales) config.i18n.extraLocales); + aggregatedLocales = + lib.optionals (config.i18n.defaultLocale != "C") [ + "${config.i18n.defaultLocale}/${config.i18n.defaultCharset}" + ] + ++ lib.pipe config.i18n.extraLocaleSettings [ + # See description of extraLocaleSettings for why is this ignored here. + (x: lib.removeAttrs x [ "LANGUAGE" ]) + (lib.mapAttrs (n: v: (sanitizeUTF8Capitalization v))) + # C locales are always installed + (lib.filterAttrs (n: v: v != "C")) + (lib.mapAttrsToList (LCRole: lang: lang + "/" + (config.i18n.localeCharsets.${LCRole} or "UTF-8"))) + ] + ++ (map sanitizeUTF8Capitalization ( + lib.optionals (builtins.isList config.i18n.extraLocales) config.i18n.extraLocales + )) + ++ (lib.optional (builtins.isString config.i18n.extraLocales) config.i18n.extraLocales); in { ###### interface