main
 1{den, ...}: {
 2  den.aspects.desktop.app.nixpak.telegram = let
 3    appId = "org.telegram.desktop";
 4  in {
 5    includes = [den.aspects.desktop.app.nixpak];
 6
 7    persistHome = {
 8      directories = [
 9        ".var/app/${appId}"
10      ];
11    };
12
13    hjem = {
14      pkgs,
15      lib,
16      ...
17    }: let
18      tdesktop-wrapped = pkgs.mkNixpak {
19        config = {sloth, ...}: {
20          imports = [
21            pkgs.nixpakModules.common
22            pkgs.nixpakModules.gui
23            pkgs.nixpakModules.network
24          ];
25
26          app.package = pkgs.telegram-desktop;
27          flatpak = {inherit appId;};
28
29          bubblewrap = {
30            bind.rw = with sloth; [
31              xdgDownloadDir
32            ];
33
34            env = {
35              # xdg-open has to come from PATH.
36              PATH = lib.makeBinPath [pkgs.flatpak-xdg-utils];
37            };
38          };
39        };
40      };
41    in {
42      packages = [tdesktop-wrapped.config.env];
43
44      xdg.mime-apps.default-applications = {
45        "x-scheme-handler/tg" = ["org.telegram.desktop.desktop"];
46        "x-scheme-handler/tonsite" = ["org.telegram.desktop.desktop"];
47      };
48    };
49  };
50}