about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--home-manager/config/mpd/default.nix11
1 files changed, 8 insertions, 3 deletions
diff --git a/home-manager/config/mpd/default.nix b/home-manager/config/mpd/default.nix
index 885b7266..2869a6f5 100644
--- a/home-manager/config/mpd/default.nix
+++ b/home-manager/config/mpd/default.nix
@@ -1,18 +1,23 @@
 {
   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 = "/run/user/1000/mpd/socket"; # TODO don't hardcode uid
-    #    };
+    network = {
+      listenAddress = "${runtimeDir}/socket";
+    };
     extraConfig = ''
       metadata_to_use	"artist,album,title,track,name,genre,date,composer,performer,disc,comment"
       auto_update	"yes"