1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
{
config,
pkgs,
lib,
nixosSystemConfig,
...
}: let
dataDir = "${config.xdg.dataHome}/mpd";
playlistDirectory = "${dataDir}/playlists";
runtimeDir = "/run/user/1000/mpd"; # TODO don't hardcode uid
in {
systemd.user.services.mpd.Service.ExecStartPre =
lib.mkForce ''
${pkgs.coreutils}/bin/mkdir -p "${dataDir}" "${playlistDirectory}" "${runtimeDir}"'';
services.mpd = {
enable = true;
inherit dataDir;
musicDirectory = "~/media/music";
network = {
listenAddress = "${runtimeDir}/socket";
};
extraConfig = ''
metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc,comment"
auto_update "yes"
audio_output {
type "pipewire"
name "pipewire"
}
#database {
# plugin "simple"
# path "~/.local/share/mpd/db
# cache_directory "~/.local/share/mpd/cache"
#}
filesystem_charset "UTF-8"
'';
};
}
# vim: ts=2
|