{ ... }: { # Use CET/CEST timezone. time.timeZone = "Europe/Berlin"; # Use local time so Windows dual boots don't reset on summertime. time.hardwareClockInLocalTime = true; # Fall back to American (simple) English. i18n.defaultLocale = "en_US.UTF-8"; # Use en_DK.UTF-8 because it has: # - Euro monetary # - Decimal period numeric # - ISO 8601 date # - 24h time i18n.extraLocaleSettings = { LC_ADDRESS = "en_DK.UTF-8"; LC_IDENTIFICATION = "en_DK.UTF-8"; LC_MEASUREMENT = "en_DK.UTF-8"; LC_MONETARY = "en_DK.UTF-8"; LC_NAME = "en_DK.UTF-8"; LC_NUMERIC = "en_DK.UTF-8"; LC_PAPER = "en_DK.UTF-8"; LC_TELEPHONE = "en_DK.UTF-8"; LC_TIME = "en_DK.UTF-8"; }; # Use "US International Alt Gr. with Dead Keys". # This is handy because it has plenty of international variants on `AltGr + `. console.keyMap = "us-acentos"; services.xserver.xkb = { layout = "us"; variant = "altgr-intl"; }; }