dotfiles/home/common/ghostty.nix

129 lines
3.8 KiB
Nix
Raw Normal View History

2024-08-10 23:06:08 +02:00
{
config,
inputs,
lib,
pkgs,
...
}:
{
2024-09-02 14:43:17 +02:00
config = lib.mkIf config.patagia.desktop.enable {
2024-08-10 23:06:08 +02:00
programs.ghostty = {
enable = true;
enableFishIntegration = true;
package = inputs.ghostty.packages.${pkgs.system}.default;
2024-08-10 23:06:08 +02:00
settings = {
2025-01-06 19:03:55 +01:00
font-size = 12.5;
2025-01-02 17:04:16 +01:00
font-family = "TX-02";
font-family-bold-italic = "Monaspace Xenon";
2025-01-02 17:04:16 +01:00
font-style-bold = "Bold";
font-style-italic = "Light Oblique";
font-style-bold-italic = "ExtraLight Italic";
2024-09-02 19:48:38 +02:00
font-synthetic-style = false;
2024-08-10 23:06:08 +02:00
2025-01-02 21:11:26 +01:00
adjust-cursor-thickness = 4;
2025-01-03 01:10:48 +01:00
adjust-underline-position = 5;
2025-01-02 21:11:26 +01:00
adjust-underline-thickness = -2;
2024-08-10 23:06:08 +02:00
mouse-hide-while-typing = true;
unfocused-split-opacity = 1.0;
2024-08-10 23:06:08 +02:00
shell-integration = "fish";
gtk-tabs-location = "hidden";
2025-01-22 09:43:58 +01:00
gtk-titlebar = false;
2025-01-15 14:54:28 +01:00
gtk-titlebar-hide-when-maximized = true;
2024-08-10 23:06:08 +02:00
window-padding-balance = true;
window-padding-color = "extend";
window-theme = "system";
theme = "light:PatagiaLight,dark:PatagiaDark";
2024-08-10 23:06:08 +02:00
keybind = [
"alt+shift+c=copy_to_clipboard"
2024-08-10 23:06:08 +02:00
"alt+shift+v=paste_from_clipboard"
2025-01-15 14:54:28 +01:00
"ctrl+i=text:\\x09"
"ctrl+m=text:\\x0D"
2024-08-10 23:06:08 +02:00
"ctrl+tab=goto_split:previous"
2025-01-15 14:54:28 +01:00
"ctrl+[=text:\\x1B"
"super+enter=toggle_fullscreen"
2024-08-10 23:06:08 +02:00
];
};
themes = {
PatagiaDark = {
background = if config.patagia.oled.enable then "#000000" else "#14151a";
foreground = "#b7bec7";
cursor-color = "#e7e7b7";
selection-background = "#84979f";
selection-foreground = "#000000";
};
PatagiaLight = {
background = "#fefeff";
foreground = "#222222";
cursor-color = "#aa0000";
selection-background = "#ffe6a4";
selection-foreground = "#483600";
};
};
2024-08-10 23:06:08 +02:00
};
xdg.desktopEntries = {
ghostty-secondary = {
categories = [
"System"
"TerminalEmulator"
];
exec = ''
ghostty --class=com.mitchellh.ghostty-secondary --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash
'';
genericName = "Ghostty Secondary";
icon = "com.mitchellh.ghostty";
2025-01-04 19:00:32 +01:00
name = "Ghostty Secondary";
settings = {
StartupWMClass = "com.mitchellh.ghostty-secondary";
TryExec = "ghostty";
};
terminal = false;
type = "Application";
};
2025-01-03 19:40:03 +01:00
ghostty-devel = {
categories = [
"System"
"TerminalEmulator"
];
exec = ''
ghostty --class=com.mitchellh.ghostty-devel --command="ssh -t devel" --initial-command="ssh -t devel"
'';
2025-01-03 19:40:03 +01:00
genericName = "Ghostty (devel)";
icon = "com.mitchellh.ghostty";
2025-01-03 19:40:03 +01:00
name = "Ghostty (devel)";
settings = {
2025-01-03 19:40:03 +01:00
StartupWMClass = "com.mitchellh.ghostty-devel";
TryExec = "ghostty";
};
terminal = false;
type = "Application";
};
2025-01-03 19:40:03 +01:00
ghostty-devel-secondary = {
categories = [
"System"
"TerminalEmulator"
];
exec = ''
2025-01-04 19:00:32 +01:00
ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel"
'';
2025-01-03 19:40:03 +01:00
genericName = "Ghostty Secondary (devel)";
icon = "com.mitchellh.ghostty";
2025-01-04 19:00:32 +01:00
name = "Ghostty Secondary (devel)";
settings = {
2025-01-03 19:40:03 +01:00
StartupWMClass = "com.mitchellh.ghostty-devel-secondary";
TryExec = "ghostty";
};
terminal = false;
type = "Application";
};
};
2024-08-10 23:06:08 +02:00
};
}