107 lines
2.9 KiB
Nix
Executable File
107 lines
2.9 KiB
Nix
Executable File
{ lib, config, ... }:
|
|
with lib;
|
|
let
|
|
cfg = config.mjallen.programs.kitty;
|
|
palette = import cfg.theme.file;
|
|
in
|
|
{
|
|
imports = [ ./options.nix ];
|
|
|
|
config = mkIf cfg.enable {
|
|
programs.kitty = {
|
|
enable = true;
|
|
shellIntegration.enableZshIntegration = true;
|
|
|
|
font = {
|
|
name = mkDefault cfg.font.name;
|
|
package = mkDefault cfg.font.package;
|
|
size = mkDefault 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 = mkForce "0.85";
|
|
|
|
# The basic colors
|
|
foreground = palette.colors.text;
|
|
background = palette.colors.bg;
|
|
selection_foreground = palette.colors.bg;
|
|
selection_background = palette.colors.accent;
|
|
|
|
# Cursor colors
|
|
cursor = palette.colors.accent;
|
|
cursor_text_color = palette.colors.bg;
|
|
|
|
# URL underline color when hovering with mouse
|
|
url_color = palette.colors.accent;
|
|
|
|
# Kitty window border colors
|
|
active_border_color = palette.colors.primary;
|
|
inactive_border_color = palette.colors.bgAlt;
|
|
bell_border_color = palette.colors.warning;
|
|
|
|
# OS Window titlebar colors
|
|
wayland_titlebar_color = palette.colors.bg;
|
|
macos_titlebar_color = palette.colors.bg;
|
|
|
|
# Tab bar colors
|
|
active_tab_foreground = palette.colors.border;
|
|
active_tab_background = palette.colors.accent;
|
|
inactive_tab_foreground = palette.colors.text;
|
|
inactive_tab_background = palette.colors.bgAlt;
|
|
tab_bar_background = palette.colors.border;
|
|
|
|
# Colors for marks (marked text in the terminal)
|
|
mark1_foreground = palette.colors.bg;
|
|
mark1_background = palette.colors.primary;
|
|
mark2_foreground = palette.colors.bg;
|
|
mark2_background = palette.colors.accent;
|
|
mark3_foreground = palette.colors.bg;
|
|
mark3_background = palette.colors.info;
|
|
|
|
# The 16 terminal colors
|
|
|
|
# black
|
|
color0 = palette.colors.bg;
|
|
|
|
# Autosuggestion
|
|
color8 = palette.colors.primary;
|
|
|
|
# red
|
|
color1 = palette.colors.danger;
|
|
color9 = palette.colors.danger;
|
|
|
|
# green
|
|
color2 = palette.colors.success;
|
|
color10 = palette.colors.success;
|
|
|
|
# yellow
|
|
color3 = palette.colors.warning;
|
|
color11 = palette.colors.warning;
|
|
|
|
# blue
|
|
color4 = palette.colors.primary;
|
|
color12 = palette.colors.primary;
|
|
|
|
# magenta
|
|
color5 = palette.colors.accent;
|
|
color13 = palette.colors.accent;
|
|
|
|
# cyan
|
|
color6 = palette.colors.info;
|
|
color14 = palette.colors.info;
|
|
|
|
# white
|
|
color7 = palette.colors.textMuted;
|
|
color15 = palette.colors.text;
|
|
};
|
|
};
|
|
};
|
|
}
|