Hi Maxim, On 2023-05-05 19:28, Maxim Cournoyer wrote: > * gnu/services/audio.scm (mpd-shepherd-service): Register a new update action. > * doc/guix.texi (Audio Services): Document it. > --- > doc/guix.texi | 10 ++++++++++ > gnu/services/audio.scm | 11 +++++++++++ > 2 files changed, 21 insertions(+) >
I've been looking at this part for the past few weeks in attempt to make it more robust and after countless hours, I'd advise against this (in its current form), reason being that this only works if your configuration happens to match the default values used by mpc. My attempts at getting the values from the configuration into something that mpc understands have been unsuccessful. Not only the decision “logic” of what values to pass is non-trivial, parsing the endpoints field has been so far a complete nightmare. (with interesting gems like IPv6 address formats that the daemon is happy to use yet mpc will reject) Having the proper hostname (and port) intelligently deduced from the endpoints field is a big minefield that is likely to end in unmaintainable spaghetti. Short of introducing additional fields like “internal-mpc-host” and “internal-mpc-port”, you could modify this to relay the 'environment-variables' field for mpc as well. (since it can make use of the MPD_HOST and MPD_PORT varibles if present) -- Furthermore, I consider that nonfree software must be eradicated. Cheers, Bruno.