{
  pkgs,
  lib,
  config,
  ...
}:
with lib;

let
  cfg = config.locale.preset.theaninova;
in
{
  options.locale.preset.theaninova = {
    enable = mkEnableOption "Enable the locale preset for Theaninova";
  };

  config = mkIf cfg.enable {
    time.timeZone = "Europe/Berlin";
    i18n = {
      inputMethod = {
        enable = true;
        type = "ibus";
        ibus.engines = [ pkgs.ibus-engines.anthy ];
      };
      defaultLocale = "en_GB.UTF-8";
      extraLocaleSettings = {
        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";
      };
    };
  };
}
