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}