{ 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