Enhance desktop shortcut

This commit is contained in:
Isuldor
2026-06-27 15:23:21 -07:00
parent 87af2460be
commit 68f7125046
2 changed files with 33 additions and 1 deletions
+17
View File
@@ -12,6 +12,8 @@ Run:
nix run .#eqlegends
```
If the package is installed into a NixOS or Home Manager profile, it also provides a desktop entry named **EverQuest Legends** for KDE Plasma and other freedesktop launchers.
The flake fetches the installer from:
```text
@@ -61,6 +63,21 @@ If the flake app is installed into a profile, the helper is available as:
eqlegends-reset-prefix
```
## Desktop Entry
The package installs:
```text
share/applications/eqlegends.desktop
share/icons/hicolor/256x256/apps/eqlegends.png
```
After your NixOS/Home Manager activation includes the package, KDE Plasma should show **EverQuest Legends** in the application launcher under games. If Plasma does not notice it immediately, log out and back in, or refresh the application database:
```bash
kbuildsycoca6
```
## DXVK
The wrapper defaults to WineD3D. Run with DXVK only if the game client needs it or performs better with Vulkan translation:
+16 -1
View File
@@ -3,6 +3,8 @@
, runCommand
, writeShellScriptBin
, makeDesktopItem
, imagemagick
, p7zip
, wineWow64Packages
, dxvk
, symlinkJoin
@@ -22,6 +24,14 @@ let
hash = "sha256-MFuIuPt/MlVzlCwiIGjjKkYT0Sm7ov5wm5Mrd1zfzx4=";
};
iconFiles = runCommand "eqlegends-icon" { nativeBuildInputs = [ imagemagick p7zip ]; } ''
mkdir -p $out/share/icons/hicolor/256x256/apps
tmpdir="$(mktemp -d)"
7z e -y -o"$tmpdir" ${installer} LaunchPad.ico >/dev/null
magick "$tmpdir/LaunchPad.ico[0]" "$out/share/icons/hicolor/256x256/apps/eqlegends.png"
'';
setupDxvk = writeShellScriptBin "eqlegends-setup-dxvk" ''
set -euo pipefail
@@ -143,8 +153,12 @@ EOF
name = "eqlegends";
desktopName = "EverQuest Legends";
comment = "EverQuest Legends LaunchPad (Wine)";
icon = "eqlegends";
exec = "eqlegends";
categories = [ "Game" ];
terminal = false;
categories = [ "Game" "RolePlaying" ];
keywords = [ "EverQuest" "EverQuest Legends" "Daybreak" "Game" ];
startupNotify = true;
};
desktopFiles = runCommand "eqlegends-desktop" { } ''
@@ -158,6 +172,7 @@ symlinkJoin {
paths = [
launcher
reset
iconFiles
desktopFiles
];