From 9e2bf13d5455902853fa423258573feb494fa904 Mon Sep 17 00:00:00 2001 From: Xaiya Schumin Date: Wed, 20 May 2026 12:46:44 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20different=20approach=20of?= =?UTF-8?q?=20unpackiging=20appImages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Xaiya Schumin --- pkgs/discord-music-presence.nix | 35 +++++++++++---------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/pkgs/discord-music-presence.nix b/pkgs/discord-music-presence.nix index 1e41af1..120f0c9 100644 --- a/pkgs/discord-music-presence.nix +++ b/pkgs/discord-music-presence.nix @@ -5,36 +5,25 @@ appimageTools, makeDesktopItem, }: -let - version = "2.3.5"; +appimageTools.wrapType2 rec { pname = "discord-music-presence"; + version = "2.3.5"; src = fetchurl { url = "https://github.com/ungive/discord-music-presence/releases/download/v${version}/musicpresence-${version}-linux-x86_64.AppImage"; hash = "sha256-M7oDxVevspA3SGuHktS8ChQAYopgIqypiVlzyE4uyqI="; }; - icon = fetchurl { - url = "https://raw.githubusercontent.com/music-presence/icons/refs/heads/master/dist/logo-app-circle.png"; - hash = "sha256-ZQMN145GiTiFAYcVVSgaOLP3xSHokf3N0kFI+jf/2Zk="; - }; - - desktopItem = makeDesktopItem { - name = pname; - exec = pname; - icon = icon; - desktopName = pname; - genericName = "Discord Music Presence"; - categories = [ "Application" ]; - }; -in -appimageTools.wrapType2 rec { - inherit pname version src; - - extraInstallCommands = '' - mkdir "$out/share"; - ln -s "${desktopItem}/share/applications" "$out/share"; - ''; + extraInstallCommands = + let + contents = appimageTools.extract { inherit pname version src; }; + in + '' + install -m 444 -D ${contents}/musicpresence.desktop -t $out/share/applications + substituteInPlace $out/share/applications/musicpresence.desktop \ + --replace-fail Exec=musicpresence Exec=$out/bin/${pname} + cp -r ${contents}/usr/share/icons $out/share + ''; meta = { description = "The Discord music status that works with any media player";