From 279241632b566fd26011409672277ca02ed697d1 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Mon, 9 Jun 2025 23:42:37 +0530 Subject: Refactor config to settings.nix and settings.private.nix --- modules/media/config.nix | 16 ---------------- modules/media/default.nix | 28 ++++++++++++++-------------- modules/media/torrent.nix | 14 +++++++------- 3 files changed, 21 insertions(+), 37 deletions(-) delete mode 100644 modules/media/config.nix (limited to 'modules/media') diff --git a/modules/media/config.nix b/modules/media/config.nix deleted file mode 100644 index 0fb427e..0000000 --- a/modules/media/config.nix +++ /dev/null @@ -1,16 +0,0 @@ -rec { - mediaBaseDir = "/media"; - downloadsDir = "${mediaBaseDir}/_downloads"; - incompleteDownloadsDir = "${downloadsDir}/_incomplete"; - - tvDownloads = "${mediaBaseDir}/tv"; - moviesDownloads = "${mediaBaseDir}/movies"; - - radarrPort = 7878; - sonarrPort = 8989; - prowlarrPort = 9696; - jellyfinPort = 8096; - transmissionPort = 9091; - - group = "multimedia"; -} diff --git a/modules/media/default.nix b/modules/media/default.nix index c8b01a4..4c8edaa 100644 --- a/modules/media/default.nix +++ b/modules/media/default.nix @@ -1,25 +1,25 @@ -{ ... }: +{ lib, ... }: let - config = import ./config.nix; + settings = import ../../settings.nix { inherit lib; }; in { imports = [ ./torrent.nix ]; systemd.tmpfiles.rules = [ - "d ${config.mediaBaseDir} 0770 - ${config.group} - -" - "d ${config.downloadsDir} 0770 - ${config.group} - -" - "d ${config.tvDownloads} 0770 - ${config.group} - -" - "d ${config.moviesDownloads} 0770 - ${config.group} - -" + "d ${settings.media.baseDir} 0770 - ${settings.media.group} - -" + "d ${settings.media.downloadsDir} 0770 transmission ${settings.media.group} - -" + "d ${settings.media.tvDir} 0770 sonarr ${settings.media.group} - -" + "d ${settings.media.moviesDir} 0770 radarr ${settings.media.group} - -" ]; - users.groups."${config.group}" = { }; - users.users.bacchus.extraGroups = [ config.group ]; + users.groups."${settings.media.group}" = { }; + users.users.bacchus.extraGroups = [ settings.media.group ]; services.sonarr = { enable = true; openFirewall = true; - group = config.group; + group = settings.media.group; settings = { - server.port = config.sonarrPort; + server.port = settings.network.ports.sonarr; auth.enabled = false; }; }; @@ -27,9 +27,9 @@ in services.radarr = { enable = true; openFirewall = true; - group = config.group; + group = settings.media.group; settings = { - server.port = config.radarrPort; + server.port = settings.network.ports.radarr; auth.enabled = false; }; }; @@ -38,13 +38,13 @@ in enable = true; openFirewall = true; settings = { - server.port = config.prowlarrPort; + server.port = settings.network.ports.prowlarr; }; }; services.jellyfin = { enable = true; openFirewall = true; - group = config.group; + group = settings.media.group; }; } diff --git a/modules/media/torrent.nix b/modules/media/torrent.nix index 9fd0b96..cceb94d 100644 --- a/modules/media/torrent.nix +++ b/modules/media/torrent.nix @@ -1,6 +1,6 @@ -{ pkgs, ... }: +{ pkgs, lib, ... }: let - config = import ./config.nix; + settings = import ../../settings.nix { inherit lib; }; in { environment.systemPackages = with pkgs; [ @@ -9,10 +9,10 @@ in services.transmission = { enable = true; - group = config.group; + group = settings.media.group; openRPCPort = true; settings = { - "download-dir" = config.downloadsDir; + "download-dir" = settings.media.downloadsDir; "download-queue-enabled" = true; "download-queue-size" = 5; "peer-port" = 51413; @@ -21,9 +21,9 @@ in "prefetch-enabled" = true; "rename-partial-files" = true; "rpc-authentication-required" = false; - "rpc-bind-address" = "0.0.0.0"; + "rpc-bind-address" = if settings.network.exposeTransmissionRPC then "0.0.0.0" else "127.0.0.1"; "rpc-enabled" = true; - "rpc-port" = config.transmissionPort; + "rpc-port" = settings.network.ports.transmissionRPC; "rpc-whitelist-enabled" = false; "script-torrent-done-enabled" = false; "start-added-torrents" = true; @@ -34,6 +34,6 @@ in }; systemd.services.transmission.unitConfig = { - RequiresMountsFor = config.mediaBaseDir; + RequiresMountsFor = settings.media.baseDir; }; } -- cgit v1.3.1