system/pkgs/app/audio/mopidy.nix

86 lines
2.4 KiB
Nix
Raw Permalink Normal View History

2024-10-14 17:28:31 -04:00
{ pkgs, ... }:
{
home.packages = with pkgs; [
];
services.mopidy = {
enable = true;
# extensionPackages = [
# (pkgs.mopidy-tidal.overrideAttrs (old: rec {
# pname = "Mopidy-Tidal";
# version = "0.3.2";
# src = pkgs.python311Packages.fetchPypi {
# inherit pname version;
# sha256 = "7a4aa1ccac94d96a9339e451d5949903dc96dd45ec2c1b02d8193a159ad08267";
# };
# postPatch = ''
# substituteInPlace setup.py
# '';
# }))
# ];
settings = {
audio = {
output = "autoaudiosink";
mixer = "software";
mixer_volume = 100;
};
file = {
media_dirs = [ "/mnt/share/Music/" ];
metadata_timeout = 5000;
follow_symlinks = true;
show_dotfiles = false;
excluded_file_extensions = [ ".html" ".zip" ".nfo" ".txt" ".jpg" ".jpeg" ".png" ".pdf" ".log" ];
};
http = {
enabled = true;
hostname = "launchpad.local";
port = 6680;
default_app = "mopidy";
};
stream = {
enabled = true;
protocols = [ "http" "https" "mms" "rtmp" "rtmps" "rtsp" ];
timeout = 5000;
};
logging = {
verbosity = 1;
format = "%(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n %(message)s";
color = true;
};
# autoplay = {
# enabled = true;
# save_interval = 10;
# tracklist.uris = "auto";
# tracklist.index = "auto";
# tracklist.consume = "auto";
# tracklist.random = "auto";
# tracklist.repeat = "auto";
# tracklist.single = "auto";
# playback.state = "auto";
# playback.time_position = "auto";
# mixer.volume = 100;
# mixer.mute = false;
# };
tidal = {
enabled = true;
quality = "HI_RES_LOSSLESS";
auth_method = "PKCE";
lazy = true;
login_method = "BLOCK"; # block auto hack
};
musicbox_webclient = {
enabled = true;
musicbox = true;
websocket_host = "launchpad.local";
websocket_port = 6680;
on_track_click = "ADD_THIS_BOTTOM";
};
};
};
}
# sudo python3 -m pip install Mopidy-Beets
# sudo python3 -m pip install Mopidy-Tidal
# sudo python3 -m pip install Mopidy-Iris
# sudo python3 -m pip install Mopidy-Autoplay