Create Desktop Files with Home Manager

For org-protocol,
https://orgmode.org/worg/org-contrib/org-protocol.html
,
I’m supposed to make this desktop file

[Desktop Entry]
Name=org-protocol
Comment=Intercept calls from emacsclient to trigger custom actions
Categories=Other;
Keywords=org-protocol;
Icon=emacs
Type=Application
Exec=emacsclient -- %u
Terminal=false
StartupWMClass=Emacs
MimeType=x-scheme-handler/org-protocol;

I’ve gotten this far:

let

orgDesktopItem = pkgs.makeDesktopItem {
    name = "org-protocol";
    desktopName = "Org Protocol";
    exec = "emacsclient -- %u";
    terminal = "false";
    mimetype="x-scheme-handler/org-protocol";
  };

in

Here it complains about mimetype. Where can I see the specification for makeDesktopItem to see what its properties are?

Also, where are these files ending up?

Mimetypes is plural and a list:

mimeTypes= [“x-scheme-handler/org-protocol”];

The file ends up in $out/share/applications

Great, thanks, but where can I find a schema that lists all allowed properties?

I guess the source code is the more precise “documentation” nixpkgs/default.nix at c653577537d9b16ffd04e3e2f3bc702cacc1a343 · NixOS/nixpkgs · GitHub no idea why I can’t find it in the manual beside in the nixos’s changelog.