{ config, lib, pkgs, ... }: { options = { terminal = { kitty.enable = lib.mkEnableOption "enable kitty"; }; }; config = lib.mkIf config.terminal.kitty.enable { programs = { kitty = { enable = true; enableGitIntegration = true; shellIntegration = { enableFishIntegration = true; enableBashIntegration = true; }; font = { name = "FiraCode Nerd Font"; size = 16; package = pkgs.nerd-fonts.fira-code; }; settings = { include = "themes/noctalia.conf"; wayland_titlebar_color = "system"; macos_titlebar_color = "system"; # The most important setting of the whole confiG confirm_os_window_close = 0; # Cursor cursor_shape = "underline"; # Scrollback scrollback_lines = 10000; # Link Behaviour url_style = "straight"; open_url_with = "default"; # Layouts remember_window_size = "no"; enabled_layouts = "splits, tall"; window_resize_step_cells = 3; window_resize_step_lines = 3; window_border_width = "3 pt"; draw_minimal_borders = "yes"; window_margin_width = 10; window_padding_width = 10; # Borders/Appearance inactive_text_alpha = 0.5; hide_window_decorations = "no"; themeFile = "Catppuccin-Mocha"; # tab bar tab_bar_min_tabs = 1; tab_bar_edge = "bottom"; tab_bar_style = "powerline"; tab_powerline_style = "slanted"; tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}"; }; }; }; home.sessionVariables = { TERM = lib.mkDefault "xterm-kitty"; }; }; }