diff --git a/nix/desktop.nix b/nix/desktop.nix index f539ca311da17..fa76993d27c00 100644 --- a/nix/desktop.nix +++ b/nix/desktop.nix @@ -14,6 +14,7 @@ hermesNpmLib, electron, hermesAgent, + python3, ... }: let @@ -141,7 +142,10 @@ stdenv.mkDerivation { dontUnpack = true; dontBuild = true; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ + makeWrapper + python3 + ]; installPhase = '' runHook preInstall @@ -166,6 +170,15 @@ stdenv.mkDerivation { --set HERMES_DESKTOP_HERMES "${lib.getExe hermesAgent}" \ --set ELECTRON_IS_DEV 0 + # XDG launcher entry + mkdir -p $out/share/applications $out/share/icons/hicolor/1024x1024/apps + install -m 0644 ${../apps/desktop/assets/icon.png} \ + $out/share/icons/hicolor/1024x1024/apps/hermes.png + export PYTHONPATH=$(mktemp -d) + cp ${../hermes_cli/linux_desktop_entry.py} "$PYTHONPATH/linux_desktop_entry.py" + export DESKTOP_EXEC="$out/bin/hermes-desktop" + export DESKTOP_ICON="$out/share/icons/hicolor/1024x1024/apps/hermes.png" + python3 -c 'import os; from linux_desktop_entry import render_desktop_entry; print(render_desktop_entry(os.environ["DESKTOP_EXEC"], os.environ["DESKTOP_ICON"]))' > $out/share/applications/hermes.desktop runHook postInstall '';