36 lines
618 B
Nix
36 lines
618 B
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
inherit (config.machine.navidrome)
|
|
enable
|
|
domain
|
|
port
|
|
folder
|
|
;
|
|
in
|
|
with lib; mkIf enable {
|
|
services.nginx.virtualHosts = with lib; mkIf (domain != null) {
|
|
"${domain}" = {
|
|
forceSSL = true;
|
|
enableACME = true;
|
|
locations."/" = {
|
|
proxyPass = "http://[::1]:${toString port}";
|
|
proxyWebsockets = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
services.navidrome = {
|
|
inherit enable;
|
|
settings = {
|
|
Address = "0.0.0.0";
|
|
Port = port;
|
|
MusicFolder = folder;
|
|
DefaultTheme = "AMusic";
|
|
EnableSharing = true;
|
|
};
|
|
};
|
|
}
|