Ahwxorg/modules/services/mpd.nix

39 lines
962 B
Nix

{
username,
config,
pkgs,
...
}:
{
environment.systemPackages = with pkgs; [
mpc
mpdris2
ncmpcpp
rmpc
];
services.mpd = {
enable = true;
settings = {
playlist_directory = "/home/${username}/Music/.playlists";
music_directory = "/home/${username}/Music";
restore_paused = "yes";
auto_update = "yes";
audio_output = [
{
type = "pipewire";
name = "pipewire";
}
];
};
user = "${username}"; # PipeWire requires this as it runs as the normal user and mpd normally runs as a system user.
# Optional:
# network.listenAddress = "any"; # if you want to allow non-localhost connections
};
systemd.services.mpd.environment = {
# see: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/609
XDG_RUNTIME_DIR = "/run/user/1000"; # User-id must match above user. MPD will look inside this directory for the PipeWire socket.
};
}