{
  config,
  lib,
  pkgs,
  ...
}:
with lib;
{
  options.components.terminal.heygpt.enable = mkOption {
    type = lib.types.bool;
    #default = config.components.terminal.enable;
    default = false;
  };

  config = mkIf (config.components.terminal.heygpt.enable) {
    environment.systemPackages = [
      (pkgs.writers.writeBashBin "heygpt" ''
        export OPENAI_API_BASE="https://api.openai.com/v1"
        export OPENAI_API_KEY=$(pass openai/apikey)
        ${lib.getExe pkgs.heygpt} "$@"
      '')
      (pkgs.writers.writeBashBin "heygpt-models" ''
        export OPENAI_API_KEY=$(pass openai/apikey)
        ${getExe pkgs.curl} https://api.openai.com/v1/models \
          -H "Authorization: Bearer $OPENAI_API_KEY" \
          | ${getExe pkgs.jq} --raw-output '.data[] | .id' \
          | ${getExe pkgs.gum} filter
      '')
    ];
  };
}