{
  lib,
  config,
  ...
}: let
  cfg = config.myPrograms.thunderbird;
in {
  options = {
    myPrograms.thunderbird.enable = lib.mkEnableOption "thunderbird, a email client";
  };

  config = lib.mkIf cfg.enable {
    accounts.email.accounts = {
      "google max" = {
        address = "max.kaenner@gmail.com";
        userName = "max.kaenner@gmail.com";
        realName = "Max Känner";
        flavor = "gmail.com";
        thunderbird = {
          enable = true;
          settings = id: {
            "mail.smtpserver.smtp_${id}.authMethod" = 10;
            "mail.server.server_${id}.authMethod" = 10;
          };
        };
        primary = true;
      };
      "google informatiker" = {
        address = "kaenner9@gmail.com";
        userName = "kaenner9@gmail.com";
        realName = "Max Känner";
        flavor = "gmail.com";
        thunderbird = {
          enable = true;
          settings = id: {
            "mail.smtpserver.smtp_${id}.authMethod" = 10;
            "mail.server.server_${id}.authMethod" = 10;
          };
        };
      };
      "uni" = {
        address = "max.kaenner@stud.uni-hannover.de";
        userName = "max.kaenner@stud.uni-hannover.de";
        realName = "Max Känner";
        imap = {
          host = "mail.stud.uni-hannover.de";
          port = 993;
          tls = {
            enable = true;
            useStartTls = false;
          };
        };
        smtp = {
          host = "smtp.uni-hannover.de";
          port = 587;
          tls = {
            enable = true;
            useStartTls = true;
          };
        };
        thunderbird.enable = true;
      };
      "luhbots" = {
        address = "max.kaenner@luhbots.de";
        userName = "max.kaenner@luhbots.de";
        realName = "Max Känner";
        imap = {
          host = "luhbots.de";
          port = 993;
          tls = {
            enable = true;
            useStartTls = false;
          };
        };
        smtp = {
          host = "luhbots.de";
          port = 587;
          tls = {
            enable = true;
            useStartTls = true;
          };
        };
        thunderbird.enable = true;
      };
      "gymstolz" = {
        address = "max.kaenner@gym-stolz.de";
        userName = "max.kaenner";
        realName = "Max Känner";
        imap = {
          host = "gym-stolz.de";
          port = 143;
          tls = {
            enable = true;
            useStartTls = true;
          };
        };
        smtp = {
          host = "gym-stolz.de";
          port = 587;
          tls = {
            enable = true;
            useStartTls = true;
          };
        };
        thunderbird.enable = true;
      };
    };

    programs.thunderbird = {
      enable = true;
      profiles.default = {
        isDefault = true;
      };
    };
  };
}
