Files
nixos/modules/terminal/kitty.nix
T

51 lines
1.6 KiB
Nix

{ pkgs, ... }:
{
home-manager.users."djai".programs.kitty = {
enable = true;
keybindings = {
"ctrl+shift+t" = "new_tab_with_cwd";
"ctrl+shift+enter" = "new_window_with_cwd";
"ctrl+shift+b" = "detach_window";
"ctrl+j" = "neighboring_window down";
"ctrl+k" = "neighboring_window up";
"ctrl+h" = "neighboring_window left";
"ctrl+l" = "neighboring_window right";
"ctrl+shift+n" = "new_os_window_with_cwd";
};
themeFile = "Catppuccin-Macchiato"; # NOTE: catppuccin-nix is borked for kitty so we do it like this
settings = {
shell = "${pkgs.fish}/bin/fish";
font_family = "CaskaydiaCove Nerd Font Mono";
close_on_child_death = true;
enable_audio_bell = false;
window_padding_width = 6;
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 ''}";
allow_remote_control = "password";
listen_on = "unix:@kitty";
remote_control_password = " \"\" allow_safe.py"; # FIXME: seems to be borked on nixos
};
};
home-manager.users."djai".home.file.".config/kitty/allow_safe.py".text = ''
#!/usr/bin/env python3
def is_cmd_allowed(pcmd, window, from_socket, extra_data):
if pcmd['cmd'] == "launch":
return 'args' not in pcmd['payload']
return False
'';
home-manager.users."djai".home.file.".config/kitty/ssh.conf".text = ''
copy .config/fish .config/kitty .config/starship.toml .config/tmux
'';
}