{ self, inputs, ... }: { flake.wrapperModules.kitty = { config, lib, ... }: { options.shell = lib.mkOption { type = lib.types.str; default = ""; }; config.args = lib.mkAfter (lib.optionals (config.shell != "") [config.shell]); config.settings = { font_size = 10; font_family = "JetBrainsMono Nerd Font"; shell_integration = "enabled"; allow_remote_control = "yes"; # Gruvbox Material Dark Hard background = "#1d2021"; foreground = "#d4be98"; selection_background = "#d4be98"; selection_foreground = "#1d2021"; cursor = "#a89984"; cursor_text_color = "background"; # Black color0 = "#665c54"; color8 = "#928374"; # Red color1 = "#ea6962"; color9 = "#ea6962"; # Green color2 = "#a9b665"; color10 = "#a9b665"; # Yellow color3 = "#e78a4e"; color11 = "#d8a657"; # Blue color4 = "#7daea3"; color12 = "#7daea3"; # Magenta color5 = "#d3869b"; color13 = "#d3869b"; # Cyan color6 = "#89b482"; color14 = "#89b482"; # White color7 = "#d4be98"; color15 = "#d4be98"; # START_AUTOGENERATED_TAB_STYLE # Feel free to update these colors manually and remove these comments. active_tab_foreground = "#444444"; active_tab_background = "#d4be98"; inactive_tab_foreground = "#d4be98"; inactive_tab_background = "#171a1a"; }; }; perSystem = {pkgs, ...}: { packages.kitty = (inputs.wrappers.wrapperModules.kitty.apply { inherit pkgs; imports = [self.wrapperModules.kitty]; }).wrapper; }; }