Discord: Difference between revisions
No edit summary |
m style fixes |
||
| (7 intermediate revisions by 6 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 = 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. | ||
| Line 5: | Line 15: | ||
=== Official Clients === | === Official Clients === | ||
Nixpkgs provides all three of Discord's release channels, accessible as <code>pkgs.discord</code>, <code>pkgs.discord-ptb</code>, and <code>pkgs.discord-canary</code> respectively. Add any of the previous derivations to your package's configuration. For [[NixOS]] this will be in <code>environment.systemPackages</code> or <code>users.users.<name>.packages</code>. | Nixpkgs provides all three of Discord's release channels, accessible as <code>pkgs.discord</code>, <code>pkgs.discord-ptb</code>, and <code>pkgs.discord-canary</code> respectively. Add any of the previous derivations to your package's configuration. For [[NixOS]] this will be in <code>environment.systemPackages</code> or <code>users.users.<name>.packages</code>. | ||
{{file|configuration.nix|nix|3= | |||
{ config, lib, pkgs, ... }: { | { config, lib, pkgs, ... }: { | ||
# This will install Discord PTB for all users of the system | # This will install Discord PTB for all users of the system | ||
| Line 18: | Line 28: | ||
]; | ]; | ||
} | } | ||
}} | |||
=== Unofficial Clients === | === Unofficial Clients === | ||
| Line 33: | Line 43: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== BetterDiscord<ref>https:// | ==== BetterDiscord<ref>https://github.com/BetterDiscord/BetterDiscord</ref> ==== | ||
Enhances Discord desktop app with new features. Nixpkgs provides the installer via <code>pkgs.betterdiscordctl</code>. This can be added to your configuration, though users may prefer to instead run it one-off via the [[Nix]] cli.<syntaxhighlight lang= | Enhances Discord desktop app with new features. Nixpkgs provides the installer via <code>pkgs.betterdiscordctl</code>. This can be added to your configuration, though users may prefer to instead run it one-off via the [[Nix]] cli.<syntaxhighlight lang=console> | ||
$ nix-shell -p betterdiscordctl --command 'betterdiscordctl install' # nix-legacy | $ nix-shell -p betterdiscordctl --command 'betterdiscordctl install' # nix-legacy | ||
$ nix run nixpkgs#betterdiscordctl -- install # nix3 | $ nix run nixpkgs#betterdiscordctl -- install # nix3 | ||
| Line 54: | Line 64: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Vencord<ref>https:// | ==== Vencord<ref>https://github.com/Vendicated/Vencord</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 94: | Line 124: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Crash on start-up === | |||
Occasionally, Discord's code can become corrupted, causing it to crash on start-up. You can force it to re-download the latest version by deleting the <code>~/.config/discord/1.0.138</code>directory, where <code>1.0.138</code> is replaced with Discord's current version number (the second line of output when running <code>discord</code> from a terminal). | |||
=== "Must be your lucky day" popup === | === "Must be your lucky day" popup === | ||
| Line 143: | Line 176: | ||
After adding this to your Nix configuration and rebuilding, make sure Discord is completely closed, and then run: | After adding this to your Nix configuration and rebuilding, make sure Discord is completely closed, and then run: | ||
< | <syntaxhighlight lang=console> | ||
$ krisp-patcher ~/.config/discord/0.0.76/modules/discord_krisp/discord_krisp.node | |||
</syntaxhighlight> | |||
Once you restart Discord and join a VC, you should see a sound wave icon to the left of the hangup icon. | Once you restart Discord and join a VC, you should see a sound wave icon to the left of the hangup icon. | ||
| Line 154: | Line 189: | ||
[[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> | |||