85 lines
1.8 KiB
Nix
85 lines
1.8 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
hostname,
|
|
...
|
|
}: let
|
|
wrap_gl = program: let
|
|
name = lib.strings.getName program.name;
|
|
in
|
|
pkgs.symlinkJoin {
|
|
name = name;
|
|
paths = [
|
|
(pkgs.writeShellScriptBin name ''
|
|
${pkgs.nixgl.nixGLIntel}/bin/nixGLIntel ${program}/bin/${name} $@
|
|
'')
|
|
program
|
|
];
|
|
};
|
|
|
|
package =
|
|
if hostname == "deck"
|
|
then (wrap_gl pkgs.kitty)
|
|
else pkgs.kitty;
|
|
in {
|
|
home.file.".config/kitty/catppuccin.conf" = {
|
|
source = ./catppuccin.conf;
|
|
};
|
|
|
|
home.shellAliases = {
|
|
s = "kitty +kitten ssh";
|
|
};
|
|
|
|
programs.kitty = {
|
|
enable = true;
|
|
font = {
|
|
name = "Iosevka Nerd Font";
|
|
};
|
|
package = package;
|
|
keybindings = {
|
|
# Windows/Panes
|
|
"kitty_mod+enter" = "new_window_with_cwd";
|
|
|
|
"kitty_mod+h" = "neighboring_window left";
|
|
"kitty_mod+j" = "neighboring_window down";
|
|
"kitty_mod+k" = "neighboring_window up";
|
|
"kitty_mod+l" = "neighboring_window right";
|
|
|
|
"kitty_mod+r" = "start_resizing_window";
|
|
|
|
# Tabs
|
|
"kitty_mod+t" = "new_tab";
|
|
"kitty_mod+w" = "close_tab";
|
|
"kitty_mod+f" = "toggle_layout stack";
|
|
|
|
# Clipboard
|
|
"ctrl+shift+c" = "copy_to_clipboard";
|
|
"ctrl+shift+v" = "paste_from_clipboard";
|
|
};
|
|
settings = {
|
|
"include" = "catppuccin.conf";
|
|
"scrollback_lines" = 50000;
|
|
|
|
"shell_integration" = "enabled no-cursor";
|
|
|
|
"allow_remote_control" = "yes";
|
|
|
|
"cursor_shape" = "underline";
|
|
"cursor_blink_interval" = 0;
|
|
|
|
"disable_ligatures" = "always";
|
|
|
|
"enable_audio_bell" = "no";
|
|
|
|
"tab_bar_margin_width" = "10";
|
|
"tab_bar_margin_height" = "0 1";
|
|
|
|
"tab_bar_edge" = "top";
|
|
"tab_bar_style" = "powerline";
|
|
"tab_powerline_style" = "slanted";
|
|
|
|
"clear_all_shortcuts" = "yes";
|
|
};
|
|
};
|
|
}
|