about summary refs log tree commit diff stats
path: root/home-manager/config/mpd/default.nix
blob: 3c83a468bf7f456fe01f00eec039f187b8fc2371 (plain) (blame)
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