{
  pkgs,
  lib,
  myhostname,
  config,
  ...
}:
let
  capitalize =
    s:
    (lib.strings.toUpper (builtins.substring 0 1 s))
    + (builtins.substring 1 (builtins.stringLength s - 1) s);
in
with lib;
{
  options = {
    kitty = {
      enable = mkEnableOption "enables kitty";
      theme = lib.mkOption {
        type = lib.types.str;
        default = "latte";
        description = "the theme for kitty";
      };
    };
  };
  config = mkIf config.kitty.enable {

    programs.kitty = {
      enable = true;
      font = {
        name = "FiraCode Nerd Font Mono";
        size = 14;
      };
      shellIntegration = {
        mode = "no-cursor";
      };
      themeFile = "Catppuccin-${capitalize config.kitty.theme}";
      settings = {
        confirm_os_window_close = 2;
        cursor_shape = "block";
        cursor_blink_interval = 0;
        enable_audio_bell = false;
        window_padding_width = 10;
      };
    };
  };
}
