aboutsummaryrefslogtreecommitdiff
path: root/modules/torrent.nix
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-06-06 14:31:16 +0530
committerAkshay Nair <phenax5@gmail.com>2025-06-06 14:31:24 +0530
commit7bcd223aa4537f054eb140c3b5461ee7a4d03b19 (patch)
treee79840736e54be4a62f9bad001d8c29875e97c5e /modules/torrent.nix
parent08d9f9f645080a2b03c608eea6a08fcac8674256 (diff)
downloadnixos-config-7bcd223aa4537f054eb140c3b5461ee7a4d03b19.tar.gz
nixos-config-7bcd223aa4537f054eb140c3b5461ee7a4d03b19.zip
Add sonarr/radarr/prowlarr + add service routing
Diffstat (limited to 'modules/torrent.nix')
-rw-r--r--modules/torrent.nix55
1 files changed, 53 insertions, 2 deletions
diff --git a/modules/torrent.nix b/modules/torrent.nix
index 9e74aca..884d646 100644
--- a/modules/torrent.nix
+++ b/modules/torrent.nix
@@ -1,12 +1,33 @@
-{ config, pkgs, ... }:
+{ pkgs, ... }:
let
downloadsDir = "/home/imsohexy/Downloads/dl";
- incompleteDownloadsDir = "/home/imsohexy/Downloads/dl/incomplete";
+ incompleteDownloadsDir = "${downloadsDir}/incomplete";
watchTorrentFilesOn = "/home/imsohexy/Downloads/qute";
+
+ radarrPort = 7878;
+ sonarrPort = 8989;
+ prowlarrPort = 9696;
+
+ group = "multimedia";
in
{
+ systemd.tmpfiles.rules = [
+ "d ${downloadsDir} 0770 - ${group} - -"
+ ];
+ users.groups."${group}" = { };
+ users.users.imsohexy.extraGroups = [ group ];
+
+ environment.systemPackages = with pkgs; [ managarr ];
+
+ services.service-router.routes = {
+ sonarr.port = sonarrPort;
+ radarr.port = radarrPort;
+ prowlarr.port = prowlarrPort;
+ };
+
services.transmission = {
enable = true;
+ group = group;
settings = {
"download-dir" = downloadsDir;
"download-queue-enabled" = true;
@@ -32,4 +53,34 @@ in
"watch-dir-enabled" = false;
};
};
+
+ services.sonarr = {
+ enable = true;
+ # openFirewall = true;
+ user = "imsohexy";
+ group = group;
+ settings = {
+ server.port = sonarrPort;
+ auth.enabled = false;
+ };
+ };
+
+ services.radarr = {
+ enable = true;
+ # openFirewall = true;
+ user = "imsohexy";
+ group = group;
+ settings = {
+ server.port = radarrPort;
+ auth.enabled = false;
+ };
+ };
+
+ services.prowlarr = {
+ enable = true;
+ # openFirewall = true;
+ settings = {
+ server.port = prowlarrPort;
+ };
+ };
}