summaryrefslogtreecommitdiff
path: root/parts/overlays/discord.nix
blob: 770bbc5e37c1d89ac506457c0e6a358e1cd0950b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
_: prev: let
  mkOverride = d: let
    d' = d.override {withOpenASAR = true;};
    inherit (d') pname;

    desktopName =
      if pname == "discord-canary"
      then "Discord Canary"
      else "Discord";

    flags = "--enable-gpu-rasterization --enable-zero-copy --enable-gpu-compositing --enable-native-gpu-memory-buffers --enable-oop-rasterization --enable-features=UseSkiaRenderer,WaylandWindowDecorations";
    desktopItem = prev.makeDesktopItem {
      name = pname;
      exec = "${builtins.replaceStrings [" "] [""] desktopName} ${flags}";
      icon = pname;
      inherit desktopName;
      genericName = d'.meta.description;
      categories = ["Network" "InstantMessaging"];
      mimeTypes = ["x-scheme-handler/discord"];
    };
  in
    d'.overrideAttrs (_: {inherit desktopItem;});
in {
  discord = mkOverride prev.discord;
  discord-canary = mkOverride prev.discord-canary;
}