From 1cf77deaff15a66c4af2c2f03f9835017c3c7080 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Thu, 19 Jun 2025 21:33:28 +0900 Subject: [PATCH] vassal: add desktop entry --- pkgs/by-name/va/vassal/package.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/by-name/va/vassal/package.nix b/pkgs/by-name/va/vassal/package.nix index bc27af3563ea..22e11c5d54a1 100644 --- a/pkgs/by-name/va/vassal/package.nix +++ b/pkgs/by-name/va/vassal/package.nix @@ -6,6 +6,8 @@ jre, makeWrapper, wrapGAppsHook3, + makeDesktopItem, + copyDesktopItems, versionCheckHook, }: @@ -25,6 +27,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper wrapGAppsHook3 + copyDesktopItems ]; installPhase = '' @@ -40,9 +43,23 @@ stdenv.mkDerivation rec { --add-flags "-Duser.dir=$out -cp $out/share/vassal/Vengine.jar \ VASSAL.launch.ModuleManager" + install -Dm444 -t "$out/share/icons/hicolor/scalable/apps/" VASSAL.svg + runHook postInstall ''; + desktopItems = [ + (makeDesktopItem { + name = "VASSAL"; + exec = "vassal"; + icon = "VASSAL"; + desktopName = "VASSAL"; + comment = "The open-source boardgame engine"; + categories = [ "Game" ]; + startupWMClass = "VASSAL-launch-ModuleManager"; + }) + ]; + # Don't move doc to share/, VASSAL expects it to be in the root forceShare = [ "man"