Aggregate options and config from a list

I have a list of attrsets that contain options and config keys and want to somehow merge them into a single option and config.
mkMerge allows this for config but how would I go about doing it for option?

{
  config,
  lib,
  pkgs,
  ...
}:
with lib; let
  cfg = config.programs.lite-xl;
  stuff = [
    rec {
      name = "align_carets";
      description = "";
      config = mkIf cfg.plugins.${name} {
        home.file."somefile".source = "someotherfile.lua";
      };
      options = {
        options.programs.lite-xl.plugins."${name}" = mkEnableOption description;
      };
    }
    # ... more here
  ];
in {
  options = mkMerge (map (p: p.options) stuff); # this doensn't work

  config = mkMerge (map (p: p.config) stuff);
}

recursiveUpdate works

{
  config,
  lib,
  pkgs,
  ...
}:
with lib; let
  cfg = config.programs.lite-xl;
  stuff = [
    rec {
      name = "align_carets";
      description = "";
      config = mkIf cfg.plugins.${name} {
        home.file."somefile".source = "someotherfile.lua";
      };
      options = {
        options.programs.lite-xl.plugins."${name}" = mkEnableOption description;
      };
    }
    # ... more here
  ];
in (foldl' recursiveUpdate {} (map (p: p.options) stuff)) // {

  config = mkMerge (map (p: p.config) stuff);
}