nix-config/modules/ghostty/default.nix

78 lines
2.2 KiB
Nix

{
programs.ghostty = {
enable = true;
enableFishIntegration = true;
installVimSyntax = true;
clearDefaultKeybinds = true;
settings = {
theme = "Catppuccin Mocha";
font-size = 15;
font-family = "VictorMono NF SemiBold";
background-opacity = 0.94;
window-padding-x = 12;
window-padding-y = 12;
window-padding-balance = true;
window-inherit-working-directory = true;
window-theme = "ghostty";
copy-on-select = "clipboard";
shell-integration-features = true;
scrollback-limit = 100000;
link-url = true;
link-previews = true;
background = "#0f0b15";
foreground = "#ffffff";
cursor-color = "#d369af";
selection-foreground = "#af85ea";
selection-background = "#572454";
palette = [
"0=#0f0b15"
"1=#f47359"
"2=#29a444"
"3=#b58a52"
"4=#3f95f6"
"5=#d369af"
"6=#4fbaef"
"7=#b8c6d5"
"8=#807c9f"
"9=#ff6a7a"
"10=#00a392"
"11=#df9080"
"12=#029fff"
"13=#af85ea"
"14=#35afbf"
"15=#ffffff"
];
keybind = [
"ctrl+b>s=new_split:auto"
"ctrl+b>minus=new_split:down"
"ctrl+b>v=new_split:right"
"ctrl+b>h=goto_split:left"
"ctrl+b>j=goto_split:down"
"ctrl+b>k=goto_split:up"
"ctrl+b>l=goto_split:right"
"ctrl+b>z=toggle_split_zoom"
"ctrl+b>c=new_tab"
"ctrl+b>x=close_surface"
"ctrl+b>1=goto_tab:1"
"ctrl+b>2=goto_tab:2"
"ctrl+b>3=goto_tab:3"
"ctrl+b>4=goto_tab:4"
"ctrl+b>5=goto_tab:5"
"ctrl+b>6=goto_tab:6"
"ctrl+b>7=goto_tab:7"
"ctrl+b>8=goto_tab:8"
"ctrl+b>9=goto_tab:9"
"ctrl+b>p=toggle_command_palette"
"ctrl+shift+u=scroll_page_lines:-40"
"ctrl+shift+d=scroll_page_lines:40"
"ctrl+plus=increase_font_size:2"
"ctrl+minus=decrease_font_size:2"
"ctrl+0=reset_font_size"
"ctrl+shift+a=select_all"
"ctrl+shift+c=copy_to_clipboard"
"ctrl+shift+v=paste_from_clipboard"
"global:cmd+semicolon=toggle_quick_terminal"
];
};
};
}