X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fmpd.nix;h=7fa8fe9d09a62b73691729ad7ca8f2f5269f2e23;hb=4c4652aabf2cb3ac8b40f2856eca07a1df9c27e0;hp=9903bdf0d2ba1dea3701057c740f75a7644610a3;hpb=8d213e2b1c934f6861f76aad5eb7c11097fa97de;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/mpd.nix b/modules/private/mpd.nix index 9903bdf..7fa8fe9 100644 --- a/modules/private/mpd.nix +++ b/modules/private/mpd.nix @@ -1,31 +1,38 @@ -{ lib, pkgs, config, myconfig, ... }: +{ lib, pkgs, config, ... }: { - config = { - secrets.keys = [ - { - dest = "mpd"; + 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 = { + "mpd" = { permissions = "0400"; - text = myconfig.env.mpd.password; - } - { - dest = "mpd-config"; + text = config.myEnv.mpd.password; + }; + "mpd-config" = { permissions = "0400"; 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 = [ config.secrets.fullPaths."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" + include "${config.secrets.fullPaths."mpd-config"}" audio_output { type "null" name "No Output"