{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 genLocale "zh_TW.UTF-8" [ "LC_TIME" "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" ''; }