diff options
Diffstat (limited to 'modules/home/conf/mpd/default.nix')
-rw-r--r-- | modules/home/conf/mpd/default.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/modules/home/conf/mpd/default.nix b/modules/home/conf/mpd/default.nix new file mode 100644 index 00000000..49844b06 --- /dev/null +++ b/modules/home/conf/mpd/default.nix @@ -0,0 +1,43 @@ +{ + config, + pkgs, + lib, + osConfig, + ... +}: let + dataDir = "${config.xdg.dataHome}/mpd"; + playlistDirectory = "${dataDir}/playlists"; + runtimeDir = "/run/user/${builtins.toString osConfig.users.users.soispha.uid}/mpd"; +in { + home.sessionVariables = { + MPD_HOST = "/run/user/${builtins.toString osConfig.users.users.soispha.uid}/mpd/socket"; + }; + + 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" + ''; + }; +} |