diff options
Diffstat (limited to 'modules/home.legacy/conf/mpd/default.nix')
-rw-r--r-- | modules/home.legacy/conf/mpd/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/home.legacy/conf/mpd/default.nix b/modules/home.legacy/conf/mpd/default.nix new file mode 100644 index 00000000..b30f6995 --- /dev/null +++ b/modules/home.legacy/conf/mpd/default.nix @@ -0,0 +1,50 @@ +{ + 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 --parents "${dataDir}" "${playlistDirectory}" "${runtimeDir}" + ''; + + services.mpd = { + enable = true; + inherit dataDir playlistDirectory; + musicDirectory = config.programs.beets.settings.directory; + network = { + listenAddress = "${runtimeDir}/socket"; + }; + + extraConfig = '' + metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc,comment" + # Updated by the beets `mpdupdate` plugin + auto_update "no" + + audio_output { + type "pipewire" + name "pipewire" + } + + replaygain "track" + replaygain_limit "yes" + + #database { + # plugin "simple" + # path "~/.local/share/mpd/db + # cache_directory "~/.local/share/mpd/cache" + #} + + filesystem_charset "UTF-8" + ''; + }; +} |