{ lib, pkgs, ... } :

with lib;
{
  options.defaultPrograms = {
    terminal = mkOption {
      type = types.nullOr types.package;
      default = null;
      description = "Terminal emulator";
      example = pkgs.alacritty;
    };
    editor = mkOption {
      type = types.nullOr types.package;
      default = null;
      description = "Text editor";
      example = pkgs.kakoune;
    };
    browser = mkOption {
      type = types.nullOr types.package;
      default = null;
      description = "Web browser";
      example = pkgs.firefox;
    };
    mail = mkOption {
      type = types.nullOr types.package;
      default = null;
      description = "Email client";
      example = pkgs.thunderbird;
    };
  };
}
