36 lines
955 B
Nix
36 lines
955 B
Nix
{lib,pkgs, ... }:
|
|
let
|
|
pkg = lib.overrideDerivation pkgs.ympd (old: {
|
|
patches = [ ./ympd-top-next.patch ];
|
|
});
|
|
mpdHost = "mpd.shack";
|
|
ympd = name: port: let
|
|
webPort = 10000 + port;
|
|
in {
|
|
systemd.services."ympd-${name}" = {
|
|
description = "mpd for ${name}";
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig.ExecStart = "${pkg}/bin/ympd --host ${mpdHost} --port ${toString port} --webport ${toString webPort} --user nobody";
|
|
};
|
|
services.nginx.virtualHosts."mobile.${name}.mpd.shack" = {
|
|
serverAliases = [
|
|
"${name}.mpd.wolf.r"
|
|
"${name}.mpd.wolf.shack"
|
|
];
|
|
locations."/".proxyPass = "http://localhost:${toString webPort}";
|
|
};
|
|
};
|
|
in lib.mkMerge [{
|
|
services.nginx.enable = true;
|
|
}
|
|
(ympd "lounge" 6600)
|
|
(ympd "seminarraum" 6601)
|
|
(ympd "elab" 6602)
|
|
(ympd "kueche" 6603)
|
|
(ympd "crafting" 6604)
|
|
(ympd "fablab" 6605)
|
|
(ympd "workshop" 6606)
|
|
(ympd "klo" 6607)
|
|
|
|
]
|