From 91bd79a051f5f600e15ec57b91a63e7c44193232 Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Sat, 21 Mar 2026 13:56:24 +0100 Subject: [PATCH] Modules/Kitty: Update for nix-darwin --- home/homemodules/kitty/default.nix | 151 +++++++++++++++-------------- 1 file changed, 79 insertions(+), 72 deletions(-) diff --git a/home/homemodules/kitty/default.nix b/home/homemodules/kitty/default.nix index 688bdb2c..5364fdb4 100644 --- a/home/homemodules/kitty/default.nix +++ b/home/homemodules/kitty/default.nix @@ -3,6 +3,7 @@ config, lib, mylib, + pkgs, ... }: let inherit (config.homemodules) kitty color; @@ -27,96 +28,102 @@ in { "kitty_mod+l" = "next_layout"; }; - settings = { - editor = config.home.sessionVariables.EDITOR; - scrollback_lines = 10000; - window_padding_width = 10; # Looks stupid with editors if bg doesn't match - # hide_window_decorations = "yes"; - enabled_layouts = "grid,vertical,horizontal"; + settings = lib.mkMerge [ + # Linux config + (lib.mkIf pkgs.stdenv.isLinux { + allow_remote_control = "yes"; # For nnn file preview or nvim scrollback + listen_on = "unix:@mykitty"; + }) - allow_remote_control = "yes"; # For nnn file preview or nvim scrollback - listen_on = "unix:@mykitty"; + # Common config + { + editor = config.home.sessionVariables.EDITOR; + scrollback_lines = 10000; + window_padding_width = 10; # Looks stupid with editors if bg doesn't match + # hide_window_decorations = "yes"; + enabled_layouts = "grid,vertical,horizontal"; - tab_bar_min_tabs = 2; # Don't show a single tab - tab_bar_edge = "bottom"; - tab_bar_style = "powerline"; - tab_powerline_style = "round"; - tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}"; + tab_bar_min_tabs = 2; # Don't show a single tab + tab_bar_edge = "bottom"; + tab_bar_style = "powerline"; + tab_powerline_style = "round"; + tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}"; - # - # Color Theme - # + # + # Color Theme + # - # The basic colors - background = color.hexS.base; - foreground = color.hexS.text; - selection_foreground = color.hexS.base; - selection_background = color.hexS.rosewater; + # The basic colors + background = color.hexS.base; + foreground = color.hexS.text; + selection_foreground = color.hexS.base; + selection_background = color.hexS.rosewater; - # Cursor colors - cursor = color.hexS.rosewater; - cursor_text_color = color.hexS.base; + # Cursor colors + cursor = color.hexS.rosewater; + cursor_text_color = color.hexS.base; - # URL underline color when hovering with mouse - url_color = color.hexS.rosewater; + # URL underline color when hovering with mouse + url_color = color.hexS.rosewater; - # Kitty window border colors - active_border_color = color.hexS.lavender; - inactive_border_color = color.hexS.overlay0; - bell_border_color = color.hexS.yellow; + # Kitty window border colors + active_border_color = color.hexS.lavender; + inactive_border_color = color.hexS.overlay0; + bell_border_color = color.hexS.yellow; - # OS Window titlebar colors - wayland_titlebar_color = "system"; - macos_titlebar_color = "system"; + # OS Window titlebar colors + wayland_titlebar_color = "system"; + macos_titlebar_color = "system"; - # Tab bar colors - active_tab_foreground = color.hexS.base; - active_tab_background = color.hexS.lavender; - inactive_tab_foreground = color.hexS.text; - inactive_tab_background = color.hexS.crust; - tab_bar_background = color.hexS.base; + # Tab bar colors + active_tab_foreground = color.hexS.base; + active_tab_background = color.hexS.lavender; + inactive_tab_foreground = color.hexS.text; + inactive_tab_background = color.hexS.crust; + tab_bar_background = color.hexS.base; - # Color for marks (marked text in the terminal) - mark1_foreground = color.hexS.base; - mark1_background = color.hexS.lavender; - mark2_foreground = color.hexS.base; - mark2_background = color.hexS.mauve; - mark3_foreground = color.hexS.base; - mark3_background = color.hexS.sapphire; + # Color for marks (marked text in the terminal) + mark1_foreground = color.hexS.base; + mark1_background = color.hexS.lavender; + mark2_foreground = color.hexS.base; + mark2_background = color.hexS.mauve; + mark3_foreground = color.hexS.base; + mark3_background = color.hexS.sapphire; - # The 16 terminal colors - # black - color0 = color.hexS.subtext1; - color8 = color.hexS.subtext0; + # The 16 terminal colors + # black + color0 = color.hexS.subtext1; + color8 = color.hexS.subtext0; - # red - color1 = color.hexS.red; - color9 = color.hexS.red; + # red + color1 = color.hexS.red; + color9 = color.hexS.red; - # green - color2 = color.hexS.green; - color10 = color.hexS.green; + # green + color2 = color.hexS.green; + color10 = color.hexS.green; - # yellow - color3 = color.hexS.yellow; - color11 = color.hexS.yellow; + # yellow + color3 = color.hexS.yellow; + color11 = color.hexS.yellow; - # blue - color4 = color.hexS.blue; - color12 = color.hexS.blue; + # blue + color4 = color.hexS.blue; + color12 = color.hexS.blue; - # magenta - color5 = color.hexS.pink; - color13 = color.hexS.pink; + # magenta + color5 = color.hexS.pink; + color13 = color.hexS.pink; - # cyan - color6 = color.hexS.teal; - color14 = color.hexS.teal; + # cyan + color6 = color.hexS.teal; + color14 = color.hexS.teal; - # white - color7 = color.hexS.surface2; - color15 = color.hexS.surface1; - }; + # white + color7 = color.hexS.surface2; + color15 = color.hexS.surface1; + } + ]; }; }; }