.files/nix/configurations/vanadium/nixos/locale.nix

52 lines
1.4 KiB
Nix

{lib, ...}: {
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
# `timedatectl list-timezones`
time.timeZone = "Asia/Taipei";
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocales = [
"en_US.UTF-8/UTF-8"
"fr_FR.UTF-8/UTF-8"
"zh_TW.UTF-8/UTF-8"
];
extraLocaleSettings =
# A list of env variables you might want to set
#
# "LC_CTYPE"
# "LC_NUMERIC"
# "LC_TIME"
# "LC_COLLATE"
# "LC_MONETARY"
# "LC_MESSAGES"
# "LC_PAPER"
# "LC_NAME"
# "LC_ADDRESS"
# "LC_TELEPHONE"
# "LC_MEASUREMENT"
# "LC_IDENTIFICATION"
let
genLocale = locale: lib.flip lib.genAttrs (_: locale);
in
# - xscreensaver freaks out on the time display
# - evolution add event becomes hard to use
# https://gitlab.gnome.org/GNOME/evolution/-/issues/3120
genLocale "fr_FR.UTF-8" [
"LC_TIME"
]
// genLocale "zh_TW.UTF-8" [
"LC_MONETARY"
"LC_ADDRESS"
];
};
# Wireless Regulatory Domain, uses ISO / IEC 3166 country code
#
# links:
# https://community.frame.work/t/framework-nixos-linux-users-self-help/31426/77
# https://wireless.docs.kernel.org/en/latest/en/developers/regulatory.html#the-ieee80211-regdom-module-parameter
hardware.wirelessRegulatoryDatabase = true;
boot.extraModprobeConfig = ''
options cfg80211 ieee80211_regdom="TW"
'';
}