{ lib, config, ... }: with lib; let cfg = config.mjallen.programs.kitty; nord = import (lib.snowfall.fs.get-file "modules/home/desktop/theme/nord.nix"); in { imports = [ ./options.nix ]; config = mkIf cfg.enable { programs.kitty = { enable = true; shellIntegration.enableZshIntegration = true; font = { name = cfg.font.name; package = cfg.font.package; size = cfg.font.size; }; settings = { bold_font = "auto"; italic_font = "auto"; bold_italic_font = "auto"; mouse_hide_wait = "2.0"; cursor_shape = "block"; url_style = "dotted"; confirm_os_window_close = "0"; background_opacity = "0.85"; # The basic colors foreground = nord.snowStorm.nord6; background = nord.polarNight.nord0; selection_foreground = nord.polarNight.nord0; selection_background = nord.aurora.nord15; # Cursor colors cursor = nord.aurora.nord15; cursor_text_color = nord.polarNight.nord0; # URL underline color when hovering with mouse url_color = nord.aurora.nord15; # Kitty window border colors active_border_color = nord.frost.nord10; inactive_border_color = nord.polarNight.nord1; bell_border_color = nord.aurora.nord13; # OS Window titlebar colors wayland_titlebar_color = nord.polarNight.nord0; macos_titlebar_color = nord.polarNight.nord0; # Tab bar colors active_tab_foreground = nord.polarNight.nord3; active_tab_background = nord.aurora.nord15; inactive_tab_foreground = nord.snowStorm.nord6; inactive_tab_background = nord.polarNight.nord1; tab_bar_background = nord.polarNight.nord3; # Colors for marks (marked text in the terminal) mark1_foreground = nord.polarNight.nord0; mark1_background = nord.frost.nord10; mark2_foreground = nord.polarNight.nord0; mark2_background = nord.aurora.nord15; mark3_foreground = nord.polarNight.nord0; mark3_background = nord.frost.nord8; # The 16 terminal colors # black color0 = nord.polarNight.nord0; # Autosuggestion color8 = nord.frost.nord10; # red color1 = nord.aurora.nord11; color9 = nord.aurora.nord11; # green color2 = nord.aurora.nord14; color10 = nord.aurora.nord14; # yellow color3 = nord.aurora.nord13; color11 = nord.aurora.nord13; # blue color4 = nord.frost.nord10; color12 = nord.frost.nord10; # magenta color5 = nord.aurora.nord15; color13 = nord.aurora.nord15; # cyan color6 = nord.frost.nord8; color14 = nord.frost.nord8; # white color7 = nord.snowStorm.nord5; color15 = nord.snowStorm.nord4; }; }; }; }