From c0baa6e23516958a536cfcf32583874eeaa6fdb9 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Thu, 19 Feb 2026 18:27:19 -0500 Subject: [PATCH] recyclarr: init --- configuration.nix | 6 ++ flake.nix | 4 + services/arr/recyclarr.nix | 202 +++++++++++++++++++++++++++++++++++++ 3 files changed, 212 insertions(+) create mode 100644 services/arr/recyclarr.nix diff --git a/configuration.nix b/configuration.nix index fdb8cc1..d790ac2 100644 --- a/configuration.nix +++ b/configuration.nix @@ -38,23 +38,29 @@ ./services/arr/radarr.nix ./services/arr/bazarr.nix ./services/arr/jellyseerr.nix + ./services/arr/recyclarr.nix ./services/arr/prowlarr.nix ./services/arr/sonarr.nix ./services/arr/radarr.nix ./services/arr/bazarr.nix ./services/arr/jellyseerr.nix + ./services/arr/recyclarr.nix ./services/arr/sonarr.nix ./services/arr/radarr.nix ./services/arr/bazarr.nix ./services/arr/jellyseerr.nix + ./services/arr/recyclarr.nix ./services/arr/radarr.nix ./services/arr/bazarr.nix ./services/arr/jellyseerr.nix + ./services/arr/recyclarr.nix ./services/arr/bazarr.nix ./services/arr/jellyseerr.nix + ./services/arr/recyclarr.nix ./services/arr/jellyseerr.nix ./services/arr/recyclarr.nix + ./services/arr/recyclarr.nix ./services/arr/init.nix ./services/soulseek.nix diff --git a/flake.nix b/flake.nix index 1162c13..e49a82b 100644 --- a/flake.nix +++ b/flake.nix @@ -217,6 +217,10 @@ jellyseerr = { configDir = services_dir + "/jellyseerr"; }; + + recyclarr = { + dataDir = services_dir + "/recyclarr"; + }; }; }; diff --git a/services/arr/recyclarr.nix b/services/arr/recyclarr.nix new file mode 100644 index 0000000..6727e52 --- /dev/null +++ b/services/arr/recyclarr.nix @@ -0,0 +1,202 @@ +{ + pkgs, + config, + service_configs, + lib, + ... +}: +let + radarrConfig = "${service_configs.radarr.dataDir}/config.xml"; + sonarrConfig = "${service_configs.sonarr.dataDir}/config.xml"; + appDataDir = "${service_configs.recyclarr.dataDir}/data"; + + # Runs as root (via + prefix) to read API keys, writes secrets.yml for recyclarr + generateSecrets = pkgs.writeShellScript "recyclarr-generate-secrets" '' + RADARR_KEY=$(${pkgs.gnugrep}/bin/grep -oP '(?<=)[^<]+' ${radarrConfig}) + SONARR_KEY=$(${pkgs.gnugrep}/bin/grep -oP '(?<=)[^<]+' ${sonarrConfig}) + cat > ${appDataDir}/secrets.yml <