Subject: [PATCH 00/17] Improve out-of-the-box experience with mpd-service-type

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 28 Apr 2023 10:26:53 -0400

Hi,

I've recently had enough issues trying to setup a very basic, minimal MTP
server that I've found an itch to improve a few things, leading to the patches below.

It obsoletes a few things to make the configuration less error prone or easier
to reason with, and focus on making things "just work" out of the box, using
something as minimal as:

    (service mpd-service-type
             (mpd-configuration
              (music-directory "/srv/music")))

Previously this would fail due to requiring the user to provide a database
file themselves in the configuration, and the default mpd user would also fail
to access the /dev/snd/* devices due to the mpd user not deing in the audio
group.  Having 'group' in mpd.conf would also cause mpd to strip the user's
supplementary groups, making this issue more likely.

Other note-worthy changes:

* Log to syslog by default (to match upstream behavior)
* Auto-detect the mixer type (to match upstream behavior)

I hope the series helps you to setup MPD too.

Maxim Cournoyer (17):
  services: mpd: Add an 'update' action to trigger a database update.
  services: mpd: Streamline mpd-user-sanitizer and mympd-user-sanitizer.
  services: mpd: Rename %set-user-group to set-user-group.
  services: mpd: Obsolete the 'group' field.
  services: mpd: List log-level in decreasing verbosity order in doc.
  services: mympd: Fix log file name.
  services: mpd: Log to syslog by default.
  services: mpd: Only rotate log when a log file is specified.
  services: mpd: Let Shepherd effect the user/group change.
  system: accounts: Export <user-account>.
  services: mpd: Warn when the MPD user is not in the "audio" group.
  services: mpd: Auto-detect mpd-output mixer type by default.
  services: mpd: Fix indentation.
  services: mpd: Obsolete 'environment-variables' field.
  services: mpd: Provision a default cache directory and set HOME.
  services: mpd: Update basic example.
  services: Avoid 'delete' overrides warning in audio module.

 doc/guix.texi           |  79 ++++++----
 gnu/services/audio.scm  | 311 +++++++++++++++++++++++-----------------
 gnu/system/accounts.scm |   3 +-
 3 files changed, 228 insertions(+), 165 deletions(-)

base-commit: ccf64b6a8b8718a8bb69719cf9ed2873464e3850
prerequisite-patch-id: eace011dd080f709a8eeb77c7a739f87079dbb81
prerequisite-patch-id: fd596ecff861483a486910ca0feecded27f6a4a2
prerequisite-patch-id: 948c73edc0a8a0a21b1d4f6878d3f09158059f38
prerequisite-patch-id: becfd217e53934fe9ef16939ff433e5ed00a4b1e
prerequisite-patch-id: 20f12e01af25b881e362ea7dc837a07aeec8a489
prerequisite-patch-id: 7534d08dbc06589ce0fe7bd306585321cb5385d1
-- 
2.39.2