From 2f14aa1e9b7edc12ae91d71fbbd8c22da382700a Mon Sep 17 00:00:00 2001 From: Julian Mutter Date: Sat, 5 Oct 2024 23:31:28 +0200 Subject: [PATCH] Add mimeapps management file but not use it --- homes/x86_64-linux/julian@aspi/mimeapps.nix | 45 +++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 homes/x86_64-linux/julian@aspi/mimeapps.nix diff --git a/homes/x86_64-linux/julian@aspi/mimeapps.nix b/homes/x86_64-linux/julian@aspi/mimeapps.nix new file mode 100644 index 0000000..0cd6d8f --- /dev/null +++ b/homes/x86_64-linux/julian@aspi/mimeapps.nix @@ -0,0 +1,45 @@ +# Manage mime-types via home-manager. Sadly the file gets overwritten by some applications and also not all of the desktop file paths are correct +# Use from home-manager like this: +# +# xdg.mimeApps.enable = true; +# xdg.mimeApps.defaultApplications = import ./mimeapps.nix { +# inherit pkgs; +# inherit lib; +# }; + +{ lib, pkgs, ... }: +let + package-names = with pkgs; { + "x-scheme-handler/tg" = telegram-desktop; + "x-scheme-handler/mailto" = thunderbird; + "message/rfc822" = thunderbird; + "x-scheme-handler/mid" = thunderbird; + "x-scheme-handler/webcal" = thunderbird; + "text/calendar" = thunderbird; + "application/x-extension-ics" = thunderbird; + "x-scheme-handler/webcals" = thunderbird; + "application/zip" = mate.engrampa; + "text/plain" = xfce.mousepad; + "image/jpeg" = nomacs; + "application/pdf" = evince; + "text/html" = firefox; + "x-scheme-handler/http" = firefox; + "x-scheme-handler/https" = firefox; + "x-scheme-handler/chrome" = firefox; + "application/x-extension-htm" = firefox; + "application/x-extension-html" = firefox; + "application/x-extension-shtml" = firefox; + "application/xhtml+xml" = firefox; + "application/x-extension-xhtml" = firefox; + "application/x-extension-xht" = firefox; + "image/svg+xml" = inkscape; + "image/png" = nomacs; + "x-scheme-handler/eclipse+command" = dbeaver-bin; + "video/mp4" = vlc; + "audio/mpeg" = vlc; + "inode/directory" = pcmanfm; + }; +in +lib.mapAttrs (mimeType: package: [ + "${package}/share/applications/${package.pname}.desktop" +]) package-names