]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - modules/private/mpd.nix
Add a filesWatcher service to restart them when secrets change
[perso/Immae/Config/Nix.git] / modules / private / mpd.nix
1 { lib, pkgs, config, myconfig, ... }:
2 {
3 config = {
4 secrets.keys = [
5 {
6 dest = "mpd";
7 permissions = "0400";
8 text = myconfig.env.mpd.password;
9 }
10 {
11 dest = "mpd-config";
12 permissions = "0400";
13 user = "mpd";
14 group = "mpd";
15 text = ''
16 password "${myconfig.env.mpd.password}@read,add,control,admin"
17 '';
18 }
19 ];
20 networking.firewall.allowedTCPPorts = [ 6600 ];
21 users.users.mpd.extraGroups = [ "wwwrun" "keys" ];
22 systemd.services.mpd.serviceConfig.RuntimeDirectory = "mpd";
23 services.filesWatcher.mpd = {
24 restart = true;
25 paths = [ "/var/secrets/mpd-config" ];
26 };
27
28 services.mpd = {
29 enable = true;
30 network.listenAddress = "any";
31 musicDirectory = myconfig.env.mpd.folder;
32 extraConfig = ''
33 include "/var/secrets/mpd-config"
34 audio_output {
35 type "null"
36 name "No Output"
37 mixer_type "none"
38 }
39 audio_output {
40 type "httpd"
41 name "OGG"
42 encoder "vorbis"
43 bind_to_address "/run/mpd/ogg.sock"
44 quality "5.0"
45 format "44100:16:1"
46 }
47 audio_output {
48 type "httpd"
49 name "MP3"
50 encoder "lame"
51 bind_to_address "/run/mpd/mp3.sock"
52 quality "5.0"
53 format "44100:16:1"
54 }
55
56
57 '';
58 };
59 };
60 }
61