Files
Nix-Vibe/home-manager/modules/kitty.nix
T
petere eb08cd4282 Nix-Vibe public snapshot (squashed history)
Current state of main at 0240060 feat(hp-laptop): install TeleportFling from its flake. History intentionally
collapsed to a single commit; this repo mirrors only the latest state.
2026-09-19 13:53:39 +01:00

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