+++ /dev/null
-{ lib, pkgs, config, ... }:
-{
- options.myServices.mpd.enable = lib.mkEnableOption "enable MPD";
- config = lib.mkIf config.myServices.mpd.enable {
- secrets.keys = {
- "mpd" = {
- permissions = "0400";
- text = config.myEnv.mpd.password;
- };
- "mpd-config" = {
- permissions = "0400";
- user = "mpd";
- group = "mpd";
- text = ''
- password "${config.myEnv.mpd.password}@read,add,control,admin"
- '';
- };
- };
- networking.firewall.allowedTCPPorts = [ 6600 ];
- users.users.mpd.extraGroups = [ "wwwrun" "keys" ];
- systemd.services.mpd.serviceConfig.RuntimeDirectory = "mpd";
- services.filesWatcher.mpd = {
- restart = true;
- paths = [ config.secrets.fullPaths."mpd-config" ];
- };
-
- services.mpd = {
- enable = true;
- network.listenAddress = "any";
- musicDirectory = config.myEnv.mpd.folder;
- extraConfig = ''
- include "${config.secrets.fullPaths."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"
- }
-
-
- '';
- };
- };
-}
-