main
1{
2 python3,
3 lib,
4 makeWrapper,
5}:
6
7python3.pkgs.buildPythonApplication {
8 pname = "jellyfin-manage-playlist";
9 version = "1.0.0";
10 format = "other";
11
12 src = ./.;
13
14 nativeBuildInputs = [ makeWrapper ];
15
16 propagatedBuildInputs = with python3.pkgs; [
17 click
18 requests
19 ];
20
21 dontUsePythonImportsCheck = true;
22
23 installPhase = ''
24 runHook preInstall
25
26 mkdir -p $out/bin $out/lib/jellyfin-manage-playlist
27
28 # Copy the script
29 cp jellyfin-manage-playlist $out/bin/jellyfin-manage-playlist
30 chmod +x $out/bin/jellyfin-manage-playlist
31
32 # Copy the library from arr
33 cp ${../arr/lib.py} $out/lib/jellyfin-manage-playlist/lib.py
34
35 # Wrap to set PYTHONPATH
36 wrapProgram $out/bin/jellyfin-manage-playlist \
37 --prefix PYTHONPATH : "$out/lib/jellyfin-manage-playlist"
38
39 runHook postInstall
40 '';
41
42 meta = {
43 description = "Interactively manage Jellyfin playlists using fzf";
44 longDescription = ''
45 jellyfin-manage-playlist provides an interactive interface for
46 adding movies to Jellyfin playlists using fzf for selection.
47 '';
48 license = lib.licenses.mit;
49 platforms = lib.platforms.unix;
50 mainProgram = "jellyfin-manage-playlist";
51 };
52}