{ lib, ... }: lib.mkMerge [
{
  # Time zone and internationalisation properties.
  time.timeZone      = lib.mkDefault "Europe/Oslo";
  i18n.defaultLocale = "en_US.utf8";
  i18n.extraLocaleSettings.LC_ADDRESS        = "nb_NO.utf8";
  i18n.extraLocaleSettings.LC_IDENTIFICATION = "nb_NO.utf8";
  i18n.extraLocaleSettings.LC_MEASUREMENT    = "nb_NO.utf8";
  i18n.extraLocaleSettings.LC_MONETARY       = "nb_NO.utf8";
  i18n.extraLocaleSettings.LC_NAME           = "nb_NO.utf8";
  i18n.extraLocaleSettings.LC_NUMERIC        = "nb_NO.utf8";
  i18n.extraLocaleSettings.LC_PAPER          = "nb_NO.utf8";
  i18n.extraLocaleSettings.LC_TELEPHONE      = "nb_NO.utf8";
  i18n.extraLocaleSettings.LC_TIME           = "nb_NO.utf8";
  console.keyMap              = "no";
}
(lib.mkIf (lib.versionAtLeast (lib.versions.majorMinor lib.version) "24.05") {
  services.xserver.xkb.layout  = "no";
  services.xserver.xkb.variant = "";
})
(lib.mkIf (lib.versionOlder (lib.versions.majorMinor lib.version) "24.05") {
  services.xserver.layout     = "no";
  services.xserver.xkbVariant = "";
})
]
