main
 1{den, ...}: {
 2  den.aspects.desktop.app.nixpak.qq = let
 3    appId = "com.qq.QQ";
 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      qq-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.qq;
27          app.binPath = "bin/qq";
28          flatpak = {inherit appId;};
29
30          dbus.policies."org.freedesktop.ScreenSaver" = "talk";
31
32          bubblewrap = {
33            sockets.pipewire = true;
34
35            bind.rw = [sloth.xdgDownloadDir];
36
37            env = {
38              # xdg-open has to come from PATH.
39              PATH = lib.makeBinPath [pkgs.flatpak-xdg-utils];
40              NIXOS_OZONE_WL = "1";
41            };
42          };
43        };
44      };
45    in {
46      packages = [qq-wrapped.config.env];
47    };
48  };
49}