gnu: home: services: Add home-mpv-service-type.

This commit adds a new service type to generate configuration file for the mpv
media player.

Originally I attempted to use Guix Records (via define-configuration) for
this, but ran into the bug #74748, so I had to switch to procedures instead.
The usage is (hopefully) sufficiently described in the documentation.  When
the bug is resolved, I will update it to use define-configuration instead.

The full list of supported options is documented, however I decided to *not*
document types and purpose for each individual fields.  While I had mostly
working prototype to extract the documentation from mpv, once I realized it
would be few 10k of lines added, I decided it is not worth it.  It would bloat
the .texi file (by more than 50%), be hard to maintain and, in my opinion,
would not provide enough value to justify that.  The current version seems
like sane middle ground.

* gnu/home/services/mpv.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it.
* doc/guix.texi (mpv Media Player): Document it.

Change-Id: I2deb44799a28047cb5d67da97dc6007a9df873af
This commit is contained in:
Tomas Volf 2025-05-12 18:31:21 +02:00 committed by Maxim Cournoyer
parent abe2738982
commit 364694773e
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 3181 additions and 0 deletions

2751
gnu/home/services/mpv.scm Normal file

File diff suppressed because it is too large Load diff