86 lines
2.5 KiB
Nix
86 lines
2.5 KiB
Nix
let
|
|
emacs = [
|
|
"emacsclient.desktop"
|
|
"emacs.desktop"
|
|
];
|
|
browser = [
|
|
"firefox.desktop"
|
|
"librewolf.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" = browser;
|
|
"x-scheme-handler/zoommtg" = browser;
|
|
}
|