flake/modules/nixos/server/audio.nix
2025-05-29 08:57:35 +00:00

57 lines
1.3 KiB
Nix

{ pkgs, lib, config, ... }:
let
cfg = config.mods.server.audio;
arr.read.port = config.mods.server.local.ports.readarr;
arr.prowl.port = config.mods.server.local.ports.prowlarr;
arr.flare.port = config.mods.server.local.ports.flaresolverr;
arr.torrent.port = config.mods.server.local.ports.torrent;
port = config.mods.server.nginx.ports.audio;
in with lib; {
options.mods.server = {
audio = {
enable = mkEnableOption {
default = false;
description = "enables audiobook servers";
};
};
};
config = mkIf cfg.enable {
services.readarr = {
enable = true;
openFirewall = true;
settings.server.port = arr.read.port;
};
services.prowlarr = {
enable = true;
openFirewall = true;
settings.server.port = arr.prowl.port;
};
services.flaresolverr = {
enable = true;
openFirewall = true;
port = arr.flare.port;
};
services.transmission = {
enable = true;
openFirewall = true;
openRPCPort = true;
port = arr.torrent.port;
settings = {
download-dir = "/storage1/download";
rpc-port = arr.torrent.port;
rpc-bind-address = "0.0.0.0";
};
};
services.audiobookshelf = {
inherit port;
enable = true;
openFirewall = true;
host = "0.0.0.0";
};
};
}