83 lines
2.7 KiB
Nix
83 lines
2.7 KiB
Nix
{ pkgs, ... }:
|
|
|
|
let
|
|
palette = import ./palette.nix;
|
|
in
|
|
{
|
|
programs.kitty = {
|
|
enable = true;
|
|
font = {
|
|
name = "FiraCode Nerd Font";
|
|
size = 12;
|
|
};
|
|
settings = {
|
|
enabled_layouts = "tall:bias=50;full_size=1;mirrored=false,fat,grid,stack";
|
|
scrollback_lines = 10000;
|
|
enable_audio_bell = false;
|
|
update_check_interval = 0;
|
|
shell_integration = "enabled";
|
|
|
|
# Performance
|
|
repaint_delay = 10;
|
|
input_delay = 3;
|
|
sync_to_monitor = "yes";
|
|
|
|
# Window layout
|
|
window_padding_width = 10;
|
|
confirm_os_window_close = 0;
|
|
background_opacity = "0.85";
|
|
dynamic_background_opacity = "yes";
|
|
|
|
# Tabs (colors live in colors.conf so `qs-theme` can override them)
|
|
tab_bar_style = "powerline";
|
|
};
|
|
keybindings = {
|
|
"ctrl+shift+c" = "copy_to_clipboard";
|
|
"ctrl+shift+v" = "paste_from_clipboard";
|
|
"ctrl+shift+enter" = "new_window";
|
|
"ctrl+shift+]" = "next_window";
|
|
"ctrl+shift+[" = "previous_window";
|
|
"ctrl+shift+l" = "next_layout";
|
|
};
|
|
|
|
# Colors live in an include so a wallpaper-driven palette (`qs-theme`,
|
|
# via matugen) can overwrite them without touching the rest of kitty.conf.
|
|
extraConfig = "include colors.conf";
|
|
};
|
|
|
|
xdg.configFile."kitty/colors.conf".text = ''
|
|
# Color palette (Tokyo Night inspired) — declared in home-manager.
|
|
# Regenerated by `~/.local/bin/qs-theme <wallpaper>` (matugen) at runtime.
|
|
background ${palette.hash palette.bgDark}
|
|
foreground ${palette.hash palette.muted}
|
|
selection_background ${palette.hash palette.selection}
|
|
selection_foreground ${palette.hash palette.text}
|
|
url_color ${palette.hash palette.teal}
|
|
cursor ${palette.hash palette.text}
|
|
cursor_text_color ${palette.hash palette.bgDark}
|
|
|
|
active_tab_background ${palette.hash palette.blue}
|
|
active_tab_foreground ${palette.hash palette.tabFgBright}
|
|
inactive_tab_background ${palette.hash palette.tabBg}
|
|
inactive_tab_foreground ${palette.hash palette.tabFg}
|
|
|
|
# ANSI 16
|
|
color0 ${palette.hash palette.color0}
|
|
color1 ${palette.hash palette.danger}
|
|
color2 ${palette.hash palette.green}
|
|
color3 ${palette.hash palette.yellow}
|
|
color4 ${palette.hash palette.blue}
|
|
color5 ${palette.hash palette.purple}
|
|
color6 ${palette.hash palette.cyan}
|
|
color7 ${palette.hash palette.muted}
|
|
color8 ${palette.hash palette.color8}
|
|
color9 ${palette.hash palette.danger}
|
|
color10 ${palette.hash palette.green}
|
|
color11 ${palette.hash palette.yellow}
|
|
color12 ${palette.hash palette.blue}
|
|
color13 ${palette.hash palette.purple}
|
|
color14 ${palette.hash palette.cyan}
|
|
color15 ${palette.hash palette.text}
|
|
'';
|
|
}
|