Merge pull request #22489 from avnik/nixos-locales

nixos:  allow supply customized locale package
This commit is contained in:
Michael Raskin 2017-04-30 18:19:31 +02:00 committed by GitHub
commit a5d36429dc

View File

@ -2,21 +2,27 @@
with lib; with lib;
let
glibcLocales = pkgs.glibcLocales.override {
allLocales = any (x: x == "all") config.i18n.supportedLocales;
locales = config.i18n.supportedLocales;
};
in
{ {
###### interface ###### interface
options = { options = {
i18n = { i18n = {
glibcLocales = mkOption {
type = types.path;
default = pkgs.glibcLocales.override {
allLocales = any (x: x == "all") config.i18n.supportedLocales;
locales = config.i18n.supportedLocales;
};
example = literalExample "pkgs.glibcLocales";
description = ''
Customized pkg.glibcLocales package.
Changing this option can disable handling of i18n.defaultLocale
and supportedLocale.
'';
};
defaultLocale = mkOption { defaultLocale = mkOption {
type = types.str; type = types.str;
default = "en_US.UTF-8"; default = "en_US.UTF-8";
@ -118,7 +124,7 @@ in
''); '');
environment.systemPackages = environment.systemPackages =
optional (config.i18n.supportedLocales != []) glibcLocales; optional (config.i18n.supportedLocales != []) config.i18n.glibcLocales;
environment.sessionVariables = environment.sessionVariables =
{ LANG = config.i18n.defaultLocale; { LANG = config.i18n.defaultLocale;
@ -126,7 +132,7 @@ in
}; };
systemd.globalEnvironment = mkIf (config.i18n.supportedLocales != []) { systemd.globalEnvironment = mkIf (config.i18n.supportedLocales != []) {
LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; LOCALE_ARCHIVE = "${config.i18n.glibcLocales}/lib/locale/locale-archive";
}; };
# /etc/locale.conf is used by systemd. # /etc/locale.conf is used by systemd.