Home: Rename home/modules to home/homemodules
This commit is contained in:
122
home/homemodules/kitty/default.nix
Normal file
122
home/homemodules/kitty/default.nix
Normal file
@ -0,0 +1,122 @@
|
||||
# TODO: Expose some settings
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
mylib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.modules) kitty color;
|
||||
in {
|
||||
options.modules.kitty = import ./options.nix {inherit lib mylib;};
|
||||
|
||||
config = lib.mkIf kitty.enable {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
shellIntegration.enableFishIntegration = true;
|
||||
|
||||
font = {
|
||||
name = "${config.modules.color.font}";
|
||||
size = 12;
|
||||
};
|
||||
|
||||
keybindings = {
|
||||
"kitty_mod" = "ctrl+shift";
|
||||
"kitty_mod+enter" = "launch --cwd=current";
|
||||
"kitty_mod+j" = "next_window";
|
||||
"kitty_mod+k" = "previous_window";
|
||||
"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";
|
||||
|
||||
allow_remote_control = "yes"; # For nnn file preview or nvim scrollback
|
||||
listen_on = "unix:@mykitty";
|
||||
|
||||
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
|
||||
#
|
||||
|
||||
# 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;
|
||||
|
||||
# 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;
|
||||
|
||||
# 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;
|
||||
|
||||
# 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;
|
||||
|
||||
# red
|
||||
color1 = color.hexS.red;
|
||||
color9 = color.hexS.red;
|
||||
|
||||
# green
|
||||
color2 = color.hexS.green;
|
||||
color10 = color.hexS.green;
|
||||
|
||||
# yellow
|
||||
color3 = color.hexS.yellow;
|
||||
color11 = color.hexS.yellow;
|
||||
|
||||
# blue
|
||||
color4 = color.hexS.blue;
|
||||
color12 = color.hexS.blue;
|
||||
|
||||
# magenta
|
||||
color5 = color.hexS.pink;
|
||||
color13 = color.hexS.pink;
|
||||
|
||||
# cyan
|
||||
color6 = color.hexS.teal;
|
||||
color14 = color.hexS.teal;
|
||||
|
||||
# white
|
||||
color7 = color.hexS.surface2;
|
||||
color15 = color.hexS.surface1;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
9
home/homemodules/kitty/options.nix
Normal file
9
home/homemodules/kitty/options.nix
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
lib,
|
||||
mylib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with mylib.modules; {
|
||||
enable = mkEnableOption "Kitty";
|
||||
}
|
||||
Reference in New Issue
Block a user