diff options
| author | seth <[email protected]> | 2023-10-30 04:22:32 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-10-30 09:46:15 +0000 |
| commit | 10b0df38b4286237b56ff9177f8d4c5676bfb5c1 (patch) | |
| tree | ab298c74339bf9bc41571fa88746ecd9c522fbdf /overlays/discord.nix | |
| parent | 4c2c60a4f2b14c1e6ffaffe5e301dc31ac4fed0f (diff) | |
tree-wide: refactor
i went overboard on modules. this is much comfier
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; +} |
