+{ lib, pkgs, config, myconfig, mylibs, ... }:
+{
+ config = {
+ mySecrets.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" ];
+ system.activationScripts.mpd = ''
+ install -d -m 0755 -o mpd -g mpd /run/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"
+ }
+
+
+ '';
+ };
+ };
+}
+