let emacs = ["emacsclient.desktop" "emacs.desktop"]; browser = ["firefox.desktop" "nyxt.desktop"]; in { "inode/directory" = ["thunar.desktop"]; "inode/symlink" = ["thunar.desktop"]; "image/jpeg" = ["swayimg.desktop"]; "image/png" = ["swayimg.desktop"]; "video/mp4" = ["mpv.desktop"]; "text/plain" = emacs; "text/richtext" = emacs; "text/org" = emacs; "text/markdown" = emacs; "text/rust" = emacs; "text/csv" = emacs; "text/html" = emacs; "text/css" = emacs; "text/tab-separated-values" = emacs; "text/x-emacs-lisp" = emacs; "text/x-fortran" = emacs; "text/x-idl" = emacs; "text/x-log" = emacs; "text/x-lua" = emacs; "text/x-makefile" = emacs; "text/x-cmake" = emacs; "text/x-python" = emacs; "text/x-python3" = emacs; "text/x-readme" = emacs; "text/x-scheme" = emacs; "text/x-tex" = emacs; "text/x-texinfo" = emacs; "application/json" = emacs; "application/toml" = emacs; "application/yaml" = emacs; "application/xml" = emacs; "application/rss+xml" = emacs; "application/xhtml+xml" = emacs; "application/oxps" = emacs; "application/x-shellscript" = emacs; "application/x-docbook+xml" = emacs; "application/x-yaml" = emacs; "application/pdf" = ["evince.desktop"]; "application/epub+zip" = ["evince.desktop"]; "application/msword" = ["writer.desktop"]; "application/zip" = ["xarchiver.desktop"]; "application/x-extension-htm" = browser; "application/x-extension-html" = browser; "application/x-extension-shtml" = browser; "application/x-extension-xhtml" = browser; "application/x-extension-xht" = browser; "application/x-mozilla-bookmarks" = browser; "application/x-zoom" = ["Zoom.desktop"] ++ browser; "x-scheme-handler/http" = browser; "x-scheme-handler/https" = browser; "x-scheme-handler/about" = browser; "x-scheme-handler/chrome" = browser; "x-scheme-handler/webcal" = browser; "x-scheme-handler/geo" = ["openstreetmap-geo-handler.desktop"]; "x-scheme-handler/mailto" = ["emacsclient-mail.desktop"]; "x-scheme-handler/unknown" = emacs; "x-scheme-handler/prusaslicer" = ["PrusaSlicerURLProtocol.desktop"]; "x-scheme-handler/ms-word" = ["writer.desktop"]; "x-scheme-handler/ms-powerpoint" = ["impress.desktop"]; "x-scheme-handler/ms-excel" = ["calc.desktop"]; "x-scheme-handler/msteams" = ["teams-for-linux.desktop"] ++ browser; "x-scheme-handler/zoomus" = ["Zoom.desktop"] ++ browser; "x-scheme-handler/zoommtg" = ["Zoom.desktop"] ++ browser; }