101 lines
2.5 KiB
Nix
101 lines
2.5 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
{
|
|
options.server = {
|
|
arr = {
|
|
enable = lib.mkEnableOption "enable full arr";
|
|
prowlarr = {
|
|
enable = lib.mkEnableOption "enable prowlarr";
|
|
port = lib.mkOption {
|
|
default = 9696;
|
|
};
|
|
};
|
|
radarr = {
|
|
enable = lib.mkEnableOption "enable radarr";
|
|
port = lib.mkOption {
|
|
default = 7878;
|
|
};
|
|
|
|
};
|
|
sonarr = {
|
|
enable = lib.mkEnableOption "enable sonarr";
|
|
port = lib.mkOption {
|
|
default = 8989;
|
|
};
|
|
|
|
};
|
|
lidarr = {
|
|
enable = lib.mkEnableOption "enable lidarr";
|
|
port = lib.mkOption {
|
|
default = 8686;
|
|
};
|
|
|
|
};
|
|
qbittorrent = {
|
|
enable = lib.mkEnableOption "enable qbittorrent";
|
|
port = lib.mkOption {
|
|
default = 8088;
|
|
};
|
|
password = lib.mkOption {
|
|
default = "EO3HgIK+QJNQN53efrF6zQ==:Ju6k++dsM4pLLgYjP9sLbUWOiNuQMrUH/g6QArdtKXzYisuzaR+XeJL4hEC9Zo3ekVa8EVnPnQu/mJoHxxkLOA==";
|
|
}
|
|
};
|
|
};
|
|
};
|
|
config = {
|
|
config.server.arr = lib.mkIf config.server.arr.enable {
|
|
prowlarr.enable = lib.mkDefault true;
|
|
radarr.enable = lib.mkDefault true;
|
|
sonarr.enable = lib.mkDefault true;
|
|
lidarr.enable = lib.mkDefault true;
|
|
qbittorrent.enable = lib.mkDefault true;
|
|
};
|
|
services = {
|
|
prowlarr = lib.mkIf config.server.arr.prowlarr.enable {
|
|
enable = true;
|
|
server = {
|
|
bindaddress = "0.0.0.0";
|
|
port = config.server.arr.prowlarr.port;
|
|
};
|
|
};
|
|
radarr = lib.mkIf config.server.arr.radarr.enable {
|
|
enable = true;
|
|
server = {
|
|
bindaddress = "0.0.0.0";
|
|
port = config.server.arr.radarr.port;
|
|
};
|
|
};
|
|
sonarr = lib.mkIf config.server.arr.sonarr.enable {
|
|
enable = true;
|
|
server = {
|
|
bindaddress = "0.0.0.0";
|
|
port = config.server.arr.sonarr.port;
|
|
};
|
|
};
|
|
lidarr = lib.mkIf config.server.arr.lidarr.enable {
|
|
enable = true;
|
|
server = {
|
|
bindaddress = "0.0.0.0";
|
|
port = config.server.arr.lidarr.port;
|
|
};
|
|
};
|
|
qbittorrent = lib.mkIf config.server.arr.qbittorrent.enable {
|
|
enable = false;
|
|
webuiPort = config.server.arr.qbittorrent.port;
|
|
serverConfig = {
|
|
LegalNotice.Accepted = true;
|
|
Preferences = {
|
|
WebUI = {
|
|
Password_PBKDF2 = config.server.arr.qbittorrent.password;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|