From 79591926321ae20892c52ecfaa4dd42360ae27ef Mon Sep 17 00:00:00 2001 From: Justin Chen <42143810+StarryReverie@users.noreply.github.com> Date: Fri, 19 Dec 2025 21:31:48 +0800 Subject: [PATCH 1/2] lx-music-desktop: format --- pkgs/by-name/lx/lx-music-desktop/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/lx/lx-music-desktop/package.nix b/pkgs/by-name/lx/lx-music-desktop/package.nix index a6539793f2b2..6dfb17d1c8e2 100644 --- a/pkgs/by-name/lx/lx-music-desktop/package.nix +++ b/pkgs/by-name/lx/lx-music-desktop/package.nix @@ -80,9 +80,9 @@ buildNpmPackage rec { postFixup = '' makeWrapper ${lib.getExe electron} $out/bin/lx-music-desktop \ - --add-flags $out/opt/lx-music-desktop/resources/app.asar \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - --add-flags ${lib.escapeShellArg commandLineArgs} + --add-flags $out/opt/lx-music-desktop/resources/app.asar \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + --add-flags ${lib.escapeShellArg commandLineArgs} ''; meta = { From fe6705cbce4a2c107fdb13d7defd33016fa8934f Mon Sep 17 00:00:00 2001 From: Justin Chen <42143810+StarryReverie@users.noreply.github.com> Date: Fri, 19 Dec 2025 21:30:54 +0800 Subject: [PATCH 2/2] lx-music-desktop: add desktop item and icons --- pkgs/by-name/lx/lx-music-desktop/package.nix | 30 ++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/pkgs/by-name/lx/lx-music-desktop/package.nix b/pkgs/by-name/lx/lx-music-desktop/package.nix index 6dfb17d1c8e2..cf45e52ae796 100644 --- a/pkgs/by-name/lx/lx-music-desktop/package.nix +++ b/pkgs/by-name/lx/lx-music-desktop/package.nix @@ -6,7 +6,9 @@ fetchFromGitHub, replaceVars, + copyDesktopItems, makeWrapper, + makeDesktopItem, electron_37, commandLineArgs ? "", @@ -26,6 +28,28 @@ buildNpmPackage rec { hash = "sha256-g4QVpymzoRKIq70aRLXGFmUmIpSiXIZThrp8fumBKTQ="; }; + desktopItems = [ + (makeDesktopItem { + categories = [ + "Utility" + "AudioVideo" + "Audio" + "Player" + "Music" + ]; + desktopName = "LX Music Desktop"; + exec = "lx-music-desktop"; + genericName = "Music Player"; + icon = "lx-music-desktop"; + mimeTypes = [ "x-scheme-handler/lxmusic" ]; + name = "lx-music-desktop"; + startupNotify = false; + startupWMClass = "lx-music-desktop"; + terminal = false; + type = "Application"; + }) + ]; + patches = [ # set electron version and dist dir # disable before-pack: it would copy prebuilt libraries @@ -36,6 +60,7 @@ buildNpmPackage rec { nativeBuildInputs = [ makeWrapper + copyDesktopItems ]; npmDepsHash = "sha256-t6I8ch36Yh6N+qZy4/yr/gSyJ3qdyMWss5LbsagEFMQ="; @@ -75,6 +100,11 @@ buildNpmPackage rec { cp -r build/*-unpacked/{locales,resources{,.pak}} "$out/opt/lx-music-desktop" rm "$out/opt/lx-music-desktop/resources/app-update.yml" + for size in 16 32 48 64 128 256 512; do + install -D -m 444 resources/icons/"$size"x"$size".png \ + $out/share/icons/hicolor/"$size"x"$size"/apps/lx-music-desktop.png + done + runHook postInstall '';