main
 1{lib, ...}: {
 2  den.aspects.desktop.app.browser = {
 3    settings.user = {
 4      defaults = lib.mkOption {
 5        type = lib.types.listOf lib.types.str;
 6        description = "Default browsers' desktop entries";
 7        default = [];
 8      };
 9    };
10    hjem = {user, ...}: let
11      cfg = user.system.settings.desktop.app.browser;
12      desktopEntries = cfg.defaults;
13    in {
14      xdg.mime-apps.default-applications = {
15        "application/json" = desktopEntries;
16        "text/html" = desktopEntries;
17        "text/xml" = desktopEntries;
18        "application/xml" = desktopEntries;
19        "application/xhtml+xml" = desktopEntries;
20        "application/xhtml_xml" = desktopEntries;
21        "application/rdf+xml" = desktopEntries;
22        "application/rss+xml" = desktopEntries;
23        "application/x-extension-htm" = desktopEntries;
24        "application/x-extension-html" = desktopEntries;
25        "application/x-extension-shtml" = desktopEntries;
26        "application/x-extension-xht" = desktopEntries;
27        "application/x-extension-xhtml" = desktopEntries;
28
29        "x-scheme-handler/about" = desktopEntries;
30        "x-scheme-handler/ftp" = desktopEntries;
31        "x-scheme-handler/http" = desktopEntries;
32        "x-scheme-handler/https" = desktopEntries;
33      };
34    };
35  };
36}