{ options, config, pkgs, lib, ... }: with lib; with lib.wyrdgard; let cfg = config.wyrdgard.system.locale; in { options.wyrdgard.system.locale = with types; { enable = mkBoolOpt false "Whether or not to manage locale settings."; }; config = mkIf cfg.enable { i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LANG = "en_US.UTF-8"; LC_ALL = "en_US.UTF-8"; LC_ADDRESS = "de_DE.UTF-8"; LC_IDENTIFICATION = "de_DE.UTF-8"; LC_MEASUREMENT = "de_DE.UTF-8"; LC_MONETARY = "de_DE.UTF-8"; LC_NAME = "de_DE.UTF-8"; LC_NUMERIC = "de_DE.UTF-8"; LC_PAPER = "de_DE.UTF-8"; LC_TELEPHONE = "de_DE.UTF-8"; LC_TIME = "de_DE.UTF-8"; }; console = { keyMap = mkForce "us"; }; }; }