{ lib, namespace, ... }: with lib; let inherit (lib.${namespace}) mkOpt; in { options.mjallen.programs.kitty = { enable = mkEnableOption "enable kitty terminal"; font = { name = mkOption { type = types.str; default = "DejaVu Sans"; }; package = mkOpt types.package pkgs.dejavu_fonts "Default font package"; size = mkOption { type = with types; int; default = 12; }; }; theme = mkOption { type = types.submodule { options = { file = mkOption { type = types.path; # Fallback default; global theme module sets this via mkDefault default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix"; description = "Nix file exporting a palette attrset."; }; }; }; default = { }; description = "Kitty theme palette configuration."; }; }; }