{ lib, config, pkgs, ... }: let cfg = config.homeModules.config.mimeApps; browser = ["${config.home.sessionVariables.BROWSER}.desktop"]; zathura = ["org.pwmt.zethura.desktop.desktop"]; associations = { "text/html" = browser; "x-scheme-handler/http" = browser; "x-scheme-handler/https" = browser; "x-scheme-handler/ftp" = browser; "x-scheme-handler/about" = browser; "x-scheme-handler/unknown" = browser; "application/x-extension-htm" = browser; "application/x-extension-html" = browser; "application/x-extension-shtml" = browser; "application/xhtml+xml" = browser; "application/x-extension-xhtml" = browser; "application/x-extension-xht" = browser; "audio/*" = ["mpv.desktop"]; "video/*" = ["mpv.dekstop"]; "image/*" = ["imv.desktop"]; "application/json" = browser; "application/pdf" = zathura; "x-scheme-handler/discord" = ["vesktop.desktop"]; }; in { config = lib.mkIf cfg.enable { home.packages = [ pkgs.xdg-utils ]; xdg.mimeApps = { enable = true; associations.added = associations; defaultApplications = associations; }; }; }