jellyfin-mpv-shim: add desktop item

This commit is contained in:
Mats 2022-11-21 21:38:04 +01:00
parent b68bd2ee52
commit 64f6033a03

View File

@ -1,12 +1,15 @@
{ lib
, buildPythonApplication
, copyDesktopItems
, fetchPypi
, gobject-introspection
, jellyfin-apiclient-python
, jinja2
, makeDesktopItem
, mpv
, pillow
, pystray
, python
, python-mpv-jsonipc
, pywebview
, tkinter
@ -23,6 +26,7 @@ buildPythonApplication rec {
};
nativeBuildInputs = [
copyDesktopItems
wrapGAppsHook
gobject-introspection
];
@ -59,6 +63,15 @@ buildPythonApplication rec {
--replace "notify_updates: bool = True" "notify_updates: bool = False"
'';
# Install all the icons for the desktop item
postInstall = ''
for s in 16 32 48 64 128 256; do
mkdir -p $out/share/icons/hicolor/''${s}x''${s}/apps
ln -s $out/${python.sitePackages}/jellyfin_mpv_shim/integration/jellyfin-''${s}.png \
$out/share/icons/hicolor/''${s}x''${s}/apps/${pname}.png
done
'';
# needed for pystray to access appindicator using GI
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
@ -69,6 +82,16 @@ buildPythonApplication rec {
doCheck = false;
pythonImportsCheck = [ "jellyfin_mpv_shim" ];
desktopItems = [
(makeDesktopItem {
name = pname;
exec = pname;
icon = pname;
desktopName = "Jellyfin MPV Shim";
categories = [ "Video" "AudioVideo" "TV" "Player" ];
})
];
meta = with lib; {
homepage = "https://github.com/jellyfin/jellyfin-mpv-shim";
description = "Allows casting of videos to MPV via the jellyfin mobile and web app";