{ 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"; # FIXME: borked in home manager? 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 ''; }