# TODO: use upstream ytmusic when updated: https://github.com/OzymandiasTheGreat/mopidy-ytmusic/issues/68 { pkgs, ... }: let ytmusicapi = pkgs.python310Packages.buildPythonPackage rec { pname = "ytmusicapi"; version = "0.24.0"; format = "pyproject"; src = pkgs.python310Packages.fetchPypi { inherit pname version; hash = "sha256-vbSWgBze3tFLEpHdh3JXij3m5R6iAhTSjrCMaSLZalY="; }; nativeBuildInputs = with pkgs.python310Packages; [ setuptools setuptools-scm ]; propagatedBuildInputs = with pkgs.python310Packages; [ requests ]; }; mopidy-ytmusic = pkgs.python310Packages.buildPythonApplication rec { pname = "mopidy-ytmusic"; version = "0.3.5"; src = pkgs.python3Packages.fetchPypi { inherit version; pname = "Mopidy-YTMusic"; sha256 = "0pncyxfqxvznb9y4ksndbny1yf5mxh4089ak0yz86dp2qi5j99iv"; }; postPatch = '' substituteInPlace setup.py \ --replace 'ytmusicapi>=0.20.0,<0.21.0' 'ytmusicapi>=0.20.0' ''; propagatedBuildInputs = with pkgs; [ mopidy ytmusicapi python310Packages.pytube ]; pythonImportsCheck = [ "mopidy_ytmusic" ]; doCheck = false; }; in { services.mopidy = { enable = true; extensionPackages = [ mopidy-ytmusic ] ++ (with pkgs; [ mopidy-mpd mopidy-mpris ]); settings = { mpd = { enabled = true; hostname = "127.0.0.1"; port = 6600; # password = ""; max_connections = 20; connection_timeout = 60; # zeroconf = "Mopidy MPD server on $hostname"; }; # youtube = { # enabled = true; # }; }; }; }