How do you get xdg-mime to use mime types in /usr/share/mime/?

Hyprland version
Hyprland 0.51.1 built from branch  at commit 71a1216abcc7031776630a6d88f105605c4dc1c9  ([gha] Nix: update inputs).
Date: Mon Sep 22 20:54:03 2025
Tag: v0.51.1, commits: 6436
built against:
 aquamarine 0.9.4
 hyprlang 0.6.3
 hyprutils 0.8.4
 hyprcursor 0.1.13
 hyprgraphics 0.1.6

I can’t figure out how to get xdg-mime to recognize markdown files as text/markdown, it keeps returning text/plain:

> XDG_UTILS_DEBUG_LEVEL=2 xdg-mime query filetype README.md                                                         (main)

Running file --brief --dereference --mime-type "/home/evan/Code/darthmall.net/README.md"
text/plain

Based on this stackoverflow answer, this output makes me think XDG is falling back on file instead of using the mime types in /usr/share/mime/, though I’m not sure why. I have installed xdg-destkop-portal-hyprland and have tried running hyprland with and without uwsm.

Any pointers on how to get xdg-mime to give me the correct mime type for markdown files would be appreciated.

/usr/share/mime/packages/freedesktop.org.xml already has definition for text/markdown. I am still not sure why xdg-mime is returing text/plain. You can instead use handlr-regex , for me it returns text/markdown.

~/.config/mimeapps.list →
[Added Associations]
text/markdown=org.kde.ghostwriter.desktop;

@darth_mall found it , look at this xdg-utils - ArchWiki and install perl-file-mimeinfo