Files
copnix/modules/home/home-ghostty.ulu.nix
T
2026-08-27 16:45:54 +03:00

104 lines
2.6 KiB
Nix

{ ... }:
{
flake.homeModules.home-ghostty =
{ pkgs, lib, ... }:
let
isDarwin = pkgs.stdenv.isDarwin;
linuxKeybinds = [
"alt+r=reload_config"
"alt+q=close_surface"
"ctrl+space=new_tab"
"ctrl+page_down=next_tab"
"ctrl+page_up=previous_tab"
"alt+comma=move_tab:-1"
"alt+period=move_tab:1"
"alt+1=goto_tab:1"
"alt+2=goto_tab:2"
"alt+3=goto_tab:3"
"alt+4=goto_tab:4"
"alt+5=goto_tab:5"
"alt+6=goto_tab:6"
"alt+7=goto_tab:7"
"alt+8=goto_tab:8"
"alt+9=goto_tab:9"
"ctrl+shift+backslash=new_split:right"
"ctrl+shift+minus=new_split:down"
"alt+h=goto_split:left"
"alt+j=goto_split:bottom"
"alt+k=goto_split:top"
"alt+l=goto_split:right"
"ctrl+shift+z=toggle_split_zoom"
"ctrl+shift+e=equalize_splits"
];
darwinKeybinds = [
"cmd+s>r=reload_config"
"cmd+s>x=close_surface"
"cmd+s>n=new_window"
"cmd+s>c=new_tab"
"cmd+s>shift+l=next_tab"
"cmd+s>shift+h=previous_tab"
"cmd+s>comma=move_tab:-1"
"cmd+s>period=move_tab:1"
"cmd+s>1=goto_tab:1"
"cmd+s>2=goto_tab:2"
"cmd+s>3=goto_tab:3"
"cmd+s>4=goto_tab:4"
"cmd+s>5=goto_tab:5"
"cmd+s>6=goto_tab:6"
"cmd+s>7=goto_tab:7"
"cmd+s>8=goto_tab:8"
"cmd+s>9=goto_tab:9"
"cmd+s>\\=new_split:right"
"cmd+s>-=new_split:down"
"cmd+s>h=goto_split:left"
"cmd+s>j=goto_split:bottom"
"cmd+s>k=goto_split:top"
"cmd+s>l=goto_split:right"
"cmd+s>z=toggle_split_zoom"
"cmd+s>e=equalize_splits"
];
in
{
programs.ghostty = {
enable = true;
installBatSyntax = true;
enableZshIntegration = true;
settings = {
font-family = "JetBrainsMono Nerd Font";
font-size = 11;
window-padding-x = 10;
window-padding-y = 10;
window-padding-balance = true;
window-save-state = "always";
mouse-hide-while-typing = true;
mouse-scroll-multiplier = 2;
shell-integration-features = "no-cursor,sudo,no-title";
# Colors live in home-theme-ghostty, driven by the active palette.
cursor-style = "block";
cursor-style-blink = true;
adjust-cell-height = "35%";
background-opacity = 0.96;
keybind = linuxKeybinds ++ lib.optionals isDarwin darwinKeybinds;
}
// lib.optionalAttrs isDarwin {
macos-titlebar-style = "transparent";
};
};
};
}