From 8897177f519fc76238cbe8ecc18e371e1f73a1da Mon Sep 17 00:00:00 2001 From: h7x4 <h7x4@nani.wtf> Date: Mon, 24 Mar 2025 11:10:19 +0100 Subject: [PATCH] home/xdg/mimetypes: add more mimetypes --- home/config/xdg/mimetypes.nix | 107 ++++++++++++++++++++++++++++++---- 1 file changed, 97 insertions(+), 10 deletions(-) diff --git a/home/config/xdg/mimetypes.nix b/home/config/xdg/mimetypes.nix index f802cd8..eee0d55 100644 --- a/home/config/xdg/mimetypes.nix +++ b/home/config/xdg/mimetypes.nix @@ -61,6 +61,26 @@ let woff2 = "font/woff2"; }; + archive = { + "7z" = "application/x-7z-compressed"; + ar = "application/x-archive"; + bz2 = "application/x-bzip2"; + deb = "application/x-debian-package"; + gzip = "application/gzip"; + lz = "application/x-lzip"; + lzma = "application/x-lzma"; + lzo = "application/x-lzop"; + rar = "application/vnd.rar"; + rar-compressed = "application/x-rar-compressed"; + tar = "application/x-tar"; + tar-compressed = "application/x-gtar"; + x-zip = "multipart/x-zip"; + xz = "application/x-xz"; + zip = "application/zip"; + zip-compressed = "application/x-zip-compressed"; + zst = "application/zstd"; + }; + documents = { azv = "application/vnd.amazon.ebook"; cbr = "application/vnd.comicbook+rar"; @@ -72,31 +92,98 @@ let pdf = "application/pdf"; }; + office = { + doc = "application/msword"; + docm = "application/vnd.ms-word.document.macroEnabled.12"; + docx = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; + dot = "application/msword"; + dotm = "application/vnd.ms-word.template.macroEnabled.12"; + dotx = "application/vnd.openxmlformats-officedocument.wordprocessingml.template"; + mdb = "application/vnd.ms-access"; + pot = "application/vnd.ms-powerpoint"; + potm = "application/vnd.ms-powerpoint.template.macroEnabled.12"; + potx = "application/vnd.openxmlformats-officedocument.presentationml.template"; + ppa = "application/vnd.ms-powerpoint"; + ppam = "application/vnd.ms-powerpoint.addin.macroEnabled.12"; + pps = "application/vnd.ms-powerpoint"; + ppsm = "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"; + ppsx = "application/vnd.openxmlformats-officedocument.presentationml.slideshow"; + ppt = "application/vnd.ms-powerpoint"; + pptm = "application/vnd.ms-powerpoint.presentation.macroEnabled.12"; + pptx = "application/vnd.openxmlformats-officedocument.presentationml.presentation"; + xla = "application/vnd.ms-excel"; + xlam = "application/vnd.ms-excel.addin.macroEnabled.12"; + xls = "application/vnd.ms-excel"; + xlsb = "application/vnd.ms-excel.sheet.binary.macroEnabled.12"; + xlsm = "application/vnd.ms-excel.sheet.macroEnabled.12"; + xlsx = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; + xlt = "application/vnd.ms-excel"; + xltm = "application/vnd.ms-excel.template.macroEnabled.12"; + xltx = "application/vnd.openxmlformats-officedocument.spreadsheetml.template"; + + odc = "application/vnd.oasis.opendocument.chart"; + odf = "application/vnd.oasis.opendocument.formula"; + odg = "application/vnd.oasis.opendocument.graphics"; + odi = "application/vnd.oasis.opendocument.image"; + odm = "application/vnd.oasis.opendocument.text-master"; + odp = "application/vnd.oasis.opendocument.presentation"; + odt = "application/vnd.oasis.opendocument.text"; + otg = "application/vnd.oasis.opendocument.graphics-template"; + oth = "application/vnd.oasis.opendocument.text-web"; + otm = "application/vnd.oasis.opendocument.text-master-template"; + otp = "application/vnd.oasis.opendocument.presentation-template"; + ots = "application/vnd.oasis.opendocument.spreadsheet-template"; + ott = "application/vnd.oasis.opendocument.text-template"; + }; + code = { css = "text/css"; csv = "text/csv"; html = "text/html"; + js = "application/x-javascript"; + latex = "application/x-latex"; + php = "application/x-httpd-php"; + pl = "application/x-perl"; + rtf = "application/rtf"; + sh = "application/x-sh"; + tex = "application/x-tex"; txt = "text/plain"; xhtml = "application/xhtml+xml"; xml = "text/xml"; }; - misc = { + web = { + about = "x-scheme-handler/about"; + chrome = "x-scheme-handler/chrome"; + html = "text/html"; http = "x-scheme-handler/http"; https = "x-scheme-handler/https"; - wine-ini = "application/x-wine-extension-ini"; + mxwinurl = "application/x-mswinurl"; + unknown = "x-scheme-handler/unknown"; + x-htm = "application/x-extension-htm"; + x-html = "application/x-extension-html"; + x-shtml = "application/x-extension-shtml"; + x-xht = "application/x-extension-xht"; + x-xhtml = "application/x-extension-xhtml"; + xhtml-xml = "application/xhtml+xml"; + }; + + misc = { ics = "text/calendar"; - url = "application/x-mswinurl"; + wine-ini = "application/x-wine-extension-ini"; + wine-osz = "application/x-wine-extension-osz"; }; }; # Applications + ark = "org.kde.ark.desktop"; firefox = "firefox.desktop"; - vscode = "code.desktop"; + zed = "dev.zed.Zed.desktop"; mpv = "mpv.desktop"; zathura = "org.pwmt.zathura.desktop"; nsxiv = "nsxiv.desktop"; font-viewer = "org.gnome.font-viewer.desktop"; + libreoffice = "startcenter.desktop"; in { xdg.configFile."mimeapps.list".force = true; xdg.mimeApps = { @@ -108,14 +195,14 @@ in { // (lib.mapAttrs' (_: v: lib.nameValuePair v mpv) mime.audio) // (lib.mapAttrs' (_: v: lib.nameValuePair v mpv) mime.video) // (lib.mapAttrs' (_: v: lib.nameValuePair v font-viewer) mime.font) + // (lib.mapAttrs' (_: v: lib.nameValuePair v libreoffice) mime.office) // (lib.mapAttrs' (_: v: lib.nameValuePair v zathura) mime.documents) - // (lib.mapAttrs' (_: v: lib.nameValuePair v vscode) mime.code) + // (lib.mapAttrs' (_: v: lib.nameValuePair v zed) mime.code) + // (lib.mapAttrs' (_: v: lib.nameValuePair v ark) mime.archive) + // (lib.mapAttrs' (_: v: lib.nameValuePair v firefox) mime.web) // { - ${mime.misc.http} = firefox; - ${mime.misc.https} = firefox; - ${mime.misc.wine-ini} = vscode; - ${mime.misc.ics} = vscode; - ${mime.misc.url} = firefox; + ${mime.misc.wine-ini} = zed; + ${mime.misc.ics} = zed; }; }; }