diff options
Diffstat (limited to 'overlays/discord.nix')
| -rw-r--r-- | overlays/discord.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/overlays/discord.nix b/overlays/discord.nix new file mode 100644 index 0000000..dfb0cae --- /dev/null +++ b/overlays/discord.nix @@ -0,0 +1,31 @@ +_: prev: let + mkOverride = d: let + # TODO: re-enable openASAR when gnome wayland decorations work with it + 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 + if prev.stdenv.isLinux + then d'.overrideAttrs (_: {inherit desktopItem;}) + else if (pname == "discord" && prev.stdenv.isDarwin) + then d' + else d; +in { + discord = mkOverride prev.discord; + discord-canary = mkOverride prev.discord-canary; +} |
