@@ -5,6 +5,7 @@
55, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
66, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence
77, mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu
8+, writeScript, common-updater-scripts
89}:
910
1011let
@@ -71,7 +72,15 @@ in stdenv.mkDerivation rec {
7172 mimeType = "x-scheme-handler/discord";
7273 };
7374
74− passthru.updateScript = ./update-discord.sh;
75+ passthru.updateScript = writeScript "discord-update-script" ''
76+ #!/usr/bin/env nix-shell
77+ #!nix-shell -i bash -p curl gnugrep common-updater-scripts
78+ set -eou pipefail;
79+ url=$(curl -sI "https://discordapp.com/api/download/${builtins.replaceStrings ["discord-" "discord"] ["" "stable"] pname}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
80+ version=''${url##https://dl*.discordapp.net/apps/linux/}
81+ version=''${version%%/*.tar.gz}
82+ update-source-version ${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix
83+ '';
7584
7685 meta = with lib; {
7786 description = "All-in-one cross-platform voice and text chat for gamers";