]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/mpd.nix
Move rest of the modules outside of nixops
[perso/Immae/Config/Nix.git] / modules / private / mpd.nix
diff --git a/modules/private/mpd.nix b/modules/private/mpd.nix
new file mode 100644 (file)
index 0000000..9903bdf
--- /dev/null
@@ -0,0 +1,56 @@
+{ lib, pkgs, config, myconfig,  ... }:
+{
+  config = {
+    secrets.keys = [
+      {
+        dest = "mpd";
+        permissions = "0400";
+        text = myconfig.env.mpd.password;
+      }
+      {
+        dest = "mpd-config";
+        permissions = "0400";
+        user = "mpd";
+        group = "mpd";
+        text = ''
+          password "${myconfig.env.mpd.password}@read,add,control,admin"
+        '';
+      }
+    ];
+    networking.firewall.allowedTCPPorts = [ 6600 ];
+    users.users.mpd.extraGroups = [ "wwwrun" "keys" ];
+    systemd.services.mpd.serviceConfig.RuntimeDirectory = "mpd";
+    services.mpd = {
+      enable = true;
+      network.listenAddress = "any";
+      musicDirectory = myconfig.env.mpd.folder;
+      extraConfig = ''
+        include "/var/secrets/mpd-config"
+        audio_output {
+          type            "null"
+          name            "No Output"
+          mixer_type      "none"
+        }
+        audio_output {
+          type            "httpd"
+          name            "OGG"
+          encoder         "vorbis"
+          bind_to_address "/run/mpd/ogg.sock"
+          quality         "5.0"
+          format          "44100:16:1"
+        }
+        audio_output {
+          type            "httpd"
+          name            "MP3"
+          encoder         "lame"
+          bind_to_address "/run/mpd/mp3.sock"
+          quality         "5.0"
+          format          "44100:16:1"
+        }
+
+
+        '';
+    };
+  };
+}
+