{ 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; }; }; }; }