Discord: Difference between revisions
DontEatOreo (talk | contribs) Add Krisp noise suppression Workaround |
Properly install systemd service |
||
| (5 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{Infobox application | |||
| name = Discord | |||
| type = instant messaging and VoIP social platform | |||
| image = Discord-Symbol-Blurple.svg | |||
| developer = Discord Inc. | |||
| website = https://discord.com/ | |||
| platform = Cross-platform (Linux, macOS, Windows, Web) | |||
| github = https://github.com/discord | |||
}} | |||
Discord is an instant messaging and VoIP application with lots of functionality. It provides a web interface, though most users would prefer to use a client for interoperability with their system. | Discord is an instant messaging and VoIP application with lots of functionality. It provides a web interface, though most users would prefer to use a client for interoperability with their system. | ||
== Installation == | == Installation == | ||
{{ | {{tip/unfree}} | ||
=== Official Clients === | === Official Clients === | ||
| Line 55: | Line 65: | ||
==== Vencord<ref>https://vencord.dev/</ref> ==== | ==== Vencord<ref>https://vencord.dev/</ref> ==== | ||
The cutest Discord client mod. | The cutest Discord client mod. The standalone Vencord client can be installed by overriding the official Discord package via <code>withVencord = true</code>. | ||
{ config, lib, pkgs, ... }: { | {{File|3={ config, lib, pkgs, ... }: { | ||
environment.systemPackages = with pkgs; [ | environment.systemPackages = with pkgs; [ | ||
(discord.override { | (discord.override { | ||
# withOpenASAR = true; # can do this here too | # withOpenASAR = true; # can do this here too | ||
| Line 65: | Line 73: | ||
}) | }) | ||
]; | ]; | ||
} | }|name=/etc/nixos/configuration.nix|lang=nix}} | ||
</ | |||
==== Vesktop<ref>https://github.com/Vencord/Vesktop</ref> ==== | |||
As opposed to just Vencord, the same developers also offer an integrated solution which aims to make the Linux experience better. | |||
It can be neatly managed via [[Home Manager]], or just installed as a regular package via <code>pkgs.vesktop</code>. | |||
{{File|3={ config, lib, pkgs, ... }: { | |||
... | |||
programs.vesktop = { | |||
enable = true; | |||
vencord.settings = { | |||
autoUpdate = true; | |||
autoUpdateNotification = true; | |||
notifyAboutUpdates = true; | |||
plugins = { | |||
ClearURLs.enabled = true; | |||
FixYoutubeEmbeds.enabled = true; | |||
}; | |||
}; | |||
}; | |||
... | |||
}|name=home.nix|lang=nix}} | |||
==== Webcord<ref>https://github.com/SpacingBat3/WebCord</ref> ==== | ==== Webcord<ref>https://github.com/SpacingBat3/WebCord</ref> ==== | ||
| Line 79: | Line 109: | ||
== Troubleshooting == | == Troubleshooting == | ||
=== | === Screen sharing on Wayland === | ||
Discord | Since December 2024, Discord Canary supports screen sharing on Wayland. Alternatively, you can use the web version on a browser that supports screen sharing on Wayland, or an [[Discord#Unofficial Clients|unofficial client]] like ''Webcord'' or ''Vesktop'', both of which have fixed this issue in their own ways. | ||
{{Note|Remember to configure an [https://wiki.archlinux.org/title/XDG_Desktop_Portal#List_of_backends_and_interfaces XDG Desktop Portal] with screen cast capabilities!}} | {{Note|Remember to configure an [https://wiki.archlinux.org/title/XDG_Desktop_Portal#List_of_backends_and_interfaces XDG Desktop Portal] with screen cast capabilities!}} | ||
| Line 154: | Line 184: | ||
[[Category:Applications]] | [[Category:Applications]] | ||
[[Category:Gaming]] | [[Category:Gaming]] | ||
=== Discord RPC not functioning === | |||
==== NixOS ==== | |||
Install [https://github.com/OpenAsar/arrpc arRPC]: | |||
<syntaxhighlight lang="nixos"> | |||
{pkgs, ...}:{ | |||
enviroment.systemPackages = with pkgs; [ | |||
arrpc | |||
]; | |||
systemd.packages = with pkgs; [ arrpc ]; | |||
} | |||
</syntaxhighlight> | |||
==== Home Manager ==== | |||
Add the following to your Home Manager configuration | |||
<syntaxhighlight lang="nixos"> | |||
{pkgs, ...}:{ | |||
services.arrpc = { | |||
enable = true; | |||
package = pkgs.arrpc; #Default | |||
systemdTarget = "graphical-session.target"; #Default | |||
}; | |||
} | |||
</syntaxhighlight> | |||