]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/mpd.nix
Add syden peertube website
[perso/Immae/Config/Nix.git] / modules / private / mpd.nix
index 9903bdf0d2ba1dea3701057c740f75a7644610a3..1e6e666d978f6881a70f92f3aca66d04030e831e 100644 (file)
@@ -1,11 +1,15 @@
-{ lib, pkgs, config, myconfig,  ... }:
+{ lib, pkgs, config,  ... }:
 {
-  config = {
+  options.myServices.mpd.enable = lib.mkEnableOption "enable MPD";
+  config = lib.mkIf config.myServices.mpd.enable {
+    services.duplyBackup.profiles.mpd = {
+      rootDir = "/var/lib/mpd";
+    };
     secrets.keys = [
       {
         dest = "mpd";
         permissions = "0400";
-        text = myconfig.env.mpd.password;
+        text = config.myEnv.mpd.password;
       }
       {
         dest = "mpd-config";
         user = "mpd";
         group = "mpd";
         text = ''
-          password "${myconfig.env.mpd.password}@read,add,control,admin"
+          password "${config.myEnv.mpd.password}@read,add,control,admin"
         '';
       }
     ];
     networking.firewall.allowedTCPPorts = [ 6600 ];
     users.users.mpd.extraGroups = [ "wwwrun" "keys" ];
     systemd.services.mpd.serviceConfig.RuntimeDirectory = "mpd";
+    services.filesWatcher.mpd = {
+      restart = true;
+      paths = [ "/var/secrets/mpd-config" ];
+    };
+
     services.mpd = {
       enable = true;
       network.listenAddress = "any";
-      musicDirectory = myconfig.env.mpd.folder;
+      musicDirectory = config.myEnv.mpd.folder;
       extraConfig = ''
         include "/var/secrets/mpd-config"
         audio_output {