{lib, super-config, ...}: let # theme = import ../data/theme.nix {config = super-config; }; mkIfOrElse = cond: then_: else_: (lib.mkMerge [ (lib.mkIf cond then_) (lib.mkIf (!cond) else_) ]); in { programs.ghostty = { enable = true; settings = { font-family = "monospace"; font-size = 11; title-report = true; shell-integration = "zsh"; shell-integration-features = "no-cursor"; theme = "dark: Gruvbox Dark, light: Gruvbox Light"; window-theme = mkIfOrElse (super-config.darkMode == true) "dark" "light"; cursor-style = "block"; cursor-style-blink = false; cursor-opacity = 0.8; keybind = [ "ctrl+shift+enter=new_window" ]; }; }; }