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 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: The flake fetches the installer from:
```text ```text
@@ -61,6 +63,21 @@ If the flake app is installed into a profile, the helper is available as:
eqlegends-reset-prefix 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 ## DXVK
The wrapper defaults to WineD3D. Run with DXVK only if the game client needs it or performs better with Vulkan translation: 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 , runCommand
, writeShellScriptBin , writeShellScriptBin
, makeDesktopItem , makeDesktopItem
, imagemagick
, p7zip
, wineWow64Packages , wineWow64Packages
, dxvk , dxvk
, symlinkJoin , symlinkJoin
@@ -22,6 +24,14 @@ let
hash = "sha256-MFuIuPt/MlVzlCwiIGjjKkYT0Sm7ov5wm5Mrd1zfzx4="; 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" '' setupDxvk = writeShellScriptBin "eqlegends-setup-dxvk" ''
set -euo pipefail set -euo pipefail
@@ -143,8 +153,12 @@ EOF
name = "eqlegends"; name = "eqlegends";
desktopName = "EverQuest Legends"; desktopName = "EverQuest Legends";
comment = "EverQuest Legends LaunchPad (Wine)"; comment = "EverQuest Legends LaunchPad (Wine)";
icon = "eqlegends";
exec = "eqlegends"; exec = "eqlegends";
categories = [ "Game" ]; terminal = false;
categories = [ "Game" "RolePlaying" ];
keywords = [ "EverQuest" "EverQuest Legends" "Daybreak" "Game" ];
startupNotify = true;
}; };
desktopFiles = runCommand "eqlegends-desktop" { } '' desktopFiles = runCommand "eqlegends-desktop" { } ''
@@ -158,6 +172,7 @@ symlinkJoin {
paths = [ paths = [
launcher launcher
reset reset
iconFiles
desktopFiles desktopFiles
]; ];