summary refs log tree commit diff
path: root/nixos/modules/services/audio/mpd.nix
diff options
context:
space:
mode:
authorCasey Rodarmor <casey@rodarmor.com>2017-08-20 13:34:34 -0700
committerJoachim F <joachifm@users.noreply.github.com>2017-08-20 20:34:34 +0000
commitae02dd2d0a272142b97a007936a88922422bacb3 (patch)
treea07b2c927a7bab8d6a72d1837aec440ea9d1439e /nixos/modules/services/audio/mpd.nix
parent61aa254204c83f8a3728547a41390cfd9f5d5771 (diff)
downloadnixpkgs-ae02dd2d0a272142b97a007936a88922422bacb3.tar
nixpkgs-ae02dd2d0a272142b97a007936a88922422bacb3.tar.gz
nixpkgs-ae02dd2d0a272142b97a007936a88922422bacb3.tar.bz2
nixpkgs-ae02dd2d0a272142b97a007936a88922422bacb3.tar.lz
nixpkgs-ae02dd2d0a272142b97a007936a88922422bacb3.tar.xz
nixpkgs-ae02dd2d0a272142b97a007936a88922422bacb3.tar.zst
nixpkgs-ae02dd2d0a272142b97a007936a88922422bacb3.zip
nixos/mpd: allow configuring playlist directory (#28252)
Diffstat (limited to 'nixos/modules/services/audio/mpd.nix')
-rw-r--r--nixos/modules/services/audio/mpd.nix17
1 files changed, 13 insertions, 4 deletions
diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix
index bd6c316243c..5f379b392ea 100644
--- a/nixos/modules/services/audio/mpd.nix
+++ b/nixos/modules/services/audio/mpd.nix
@@ -10,11 +10,9 @@ let
   gid = config.ids.gids.mpd;
   cfg = config.services.mpd;
 
-  playlistDir = "${cfg.dataDir}/playlists";
-
   mpdConf = pkgs.writeText "mpd.conf" ''
     music_directory     "${cfg.musicDirectory}"
-    playlist_directory  "${playlistDir}"
+    playlist_directory  "${cfg.playlistDirectory}"
     db_file             "${cfg.dbFile}"
     state_file          "${cfg.dataDir}/state"
     sticker_file        "${cfg.dataDir}/sticker.sql"
@@ -57,11 +55,21 @@ in {
       musicDirectory = mkOption {
         type = types.path;
         default = "${cfg.dataDir}/music";
+        defaultText = ''''${dataDir}/music'';
         description = ''
           The directory where mpd reads music from.
         '';
       };
 
+      playlistDirectory = mkOption {
+        type = types.path;
+        default = "${cfg.dataDir}/playlists";
+        defaultText = ''''${dataDir}/playlists'';
+        description = ''
+          The directory where mpd stores playlists.
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.lines;
         default = "";
@@ -120,6 +128,7 @@ in {
       dbFile = mkOption {
         type = types.str;
         default = "${cfg.dataDir}/tag_cache";
+        defaultText = ''''${dataDir}/tag_cache'';
         description = ''
           The path to MPD's database.
         '';
@@ -153,7 +162,7 @@ in {
 
       preStart = ''
         mkdir -p "${cfg.dataDir}" && chown -R ${cfg.user}:${cfg.group} "${cfg.dataDir}"
-        mkdir -p "${playlistDir}" && chown -R ${cfg.user}:${cfg.group} "${playlistDir}"
+        mkdir -p "${cfg.playlistDirectory}" && chown -R ${cfg.user}:${cfg.group} "${cfg.playlistDirectory}"
       '';
       serviceConfig = {
         User = "${cfg.user}";