{ lib, pkgs, config, myconfig, ... }: { config = { secrets.keys = [ { dest = "mpd"; permissions = "0400"; text = myconfig.env.mpd.password; } { dest = "mpd-config"; permissions = "0400"; user = "mpd"; group = "mpd"; text = '' password "${myconfig.env.mpd.password}@read,add,control,admin" ''; } ]; networking.firewall.allowedTCPPorts = [ 6600 ]; users.users.mpd.extraGroups = [ "wwwrun" "keys" ]; systemd.services.mpd.serviceConfig.RuntimeDirectory = "mpd"; services.mpd = { enable = true; network.listenAddress = "any"; musicDirectory = myconfig.env.mpd.folder; extraConfig = '' include "/var/secrets/mpd-config" audio_output { type "null" name "No Output" mixer_type "none" } audio_output { type "httpd" name "OGG" encoder "vorbis" bind_to_address "/run/mpd/ogg.sock" quality "5.0" format "44100:16:1" } audio_output { type "httpd" name "MP3" encoder "lame" bind_to_address "/run/mpd/mp3.sock" quality "5.0" format "44100:16:1" } ''; }; }; }