{ lib, pkgs, config, ... }: let cfg = config.zpha.programs.ghostty; settingsFormat = pkgs.formats.keyValue { listsAsDuplicateKeys = true; mkKeyValue = lib.generators.mkKeyValueDefault { } " = "; }; in { options.zpha.programs.ghostty = { enable = lib.mkEnableOption "ghostty"; settings = lib.mkOption { default = { }; type = settingsFormat.type; }; }; config = lib.mkIf cfg.enable { zpha.programs.ghostty.settings = { background-opacity = 0.8; background-blur = true; clipboard-trim-trailing-spaces = true; clipboard-paste-protection = false; }; users.users.zaphyra.maid = { environment.sessionVariables.TERMINAL = "ghostty"; packages = [ pkgs.ghostty ]; file.xdg_config = { "ghostty/config".source = settingsFormat.generate "ghostty.ini" cfg.settings; }; }; }; }