summary refs log tree commit diff
path: root/nixos/modules/services/audio
diff options
context:
space:
mode:
authorDmitry Malikov <malikov.d.y@gmail.com>2014-09-15 02:06:57 +0400
committerMateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>2014-09-21 01:43:06 +0100
commit08cc8da65abbf4afe569506c4341c59e321d7d4d (patch)
treec9b30791ebc1b3da666b57f96481dc806b938c9b /nixos/modules/services/audio
parent2db5d9525ae188a8f409d266129399978d27c891 (diff)
downloadnixlib-08cc8da65abbf4afe569506c4341c59e321d7d4d.tar
nixlib-08cc8da65abbf4afe569506c4341c59e321d7d4d.tar.gz
nixlib-08cc8da65abbf4afe569506c4341c59e321d7d4d.tar.bz2
nixlib-08cc8da65abbf4afe569506c4341c59e321d7d4d.tar.lz
nixlib-08cc8da65abbf4afe569506c4341c59e321d7d4d.tar.xz
nixlib-08cc8da65abbf4afe569506c4341c59e321d7d4d.tar.zst
nixlib-08cc8da65abbf4afe569506c4341c59e321d7d4d.zip
mpd service: add network.{host,port} options
Closes #4084
Diffstat (limited to 'nixos/modules/services/audio')
-rw-r--r--nixos/modules/services/audio/mpd.nix54
1 files changed, 39 insertions, 15 deletions
diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix
index 53542e34b14b..47b2bd1d4dd8 100644
--- a/nixos/modules/services/audio/mpd.nix
+++ b/nixos/modules/services/audio/mpd.nix
@@ -16,52 +16,76 @@ let
     sticker_file        "${cfg.dataDir}/sticker.sql"
     log_file            "syslog"
     user                "mpd"
+    ${if cfg.network.host != "any" then
+   "bind_to_address     ${cfg.network.host}" else ""}
+    ${if cfg.network.port != 6600 then
+   "port                ${cfg.network.port.toString()}" else ""}
     ${cfg.extraConfig}
-  ''; 
+  '';
 
 in {
 
   ###### interface
 
-  options = { 
+  options = {
 
-    services.mpd = { 
+    services.mpd = {
 
       enable = mkOption {
         default = false;
         description = ''
           Whether to enable MPD, the music player daemon.
-        ''; 
-      };  
+        '';
+      };
 
       musicDirectory = mkOption {
         default = "${cfg.dataDir}/music";
         description = ''
           Extra configuration added to the end of MPD's
           configuration file, mpd.conf.
-        ''; 
-      };  
+        '';
+      };
 
       extraConfig = mkOption {
-        default = ""; 
+        default = "";
         description = ''
           Extra directives added to to the end of MPD's configuration file,
           mpd.conf. Basic configuration like file location and uid/gid
           is added automatically to the beginning of the file.
-        ''; 
-      };  
+        '';
+      };
 
       dataDir = mkOption {
         default = "/var/lib/mpd";
         description = ''
           The directory where MPD stores its state, tag cache,
           playlists etc.
-        ''; 
-      };  
-
-    };  
+        '';
+      };
+
+      network = {
+
+        host = mkOption {
+          default = "any";
+          description = ''
+            This setting sets the address for the daemon to listen on. Careful attention
+            should be paid if this is assigned to anything other then the default, any.
+            This setting can deny access to control of the daemon.
+          '';
+        };
+
+        port = mkOption {
+          default = 6600;
+          description = ''
+            This setting is the TCP port that is desired for the daemon to get assigned
+            to.
+          '';
+        };
+
+      };
+    };
 
-  };  
+  };
 
 
   ###### implementation