Files
homelab/services/media/seerr.nix
darmanandClaude Sonnet 5 6f24ab69ad docs: condense comments across the repo
Comments had drifted into multi-paragraph narrative (git commit
lineage, debugging stories, restated code) in several hot spots
(scripts/deploy, hermes-agent.nix, flake.nix, gitea.nix, headscale.nix).
Trim every comment to its load-bearing "why" — gotchas, safety
warnings, and non-obvious rationale survive verbatim in substance,
just tightened to 1-2 sentences; historical narrative and anything
already covered in CLAUDE.md is cut. No code/logic changed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UJqEmY1y3AYX3JoX4Y6b21
2026-09-18 21:36:30 +02:00

27 lines
982 B
Nix

{ ... }:
# Seerr (formerly Jellyseerr) — request manager for Jellyfin, talking to
# Sonarr/Radarr; fresh install, no migrated data. configDir stays at the
# module default, with AppData bind-mounted onto it instead (same
# DynamicUser/StateDirectory issue as prowlarr.nix — see that file for why,
# and why the mount targets /var/lib/private/seerr rather than the public path).
{
services.seerr.enable = true;
# `nofail` for the same reason as prowlarr.nix — see the comment there: an
# array-backed bind without it fails local-fs.target and boots to an
# unusable emergency shell.
fileSystems."/var/lib/private/seerr" = {
device = "/mnt/data/AppData/seerr";
fsType = "none";
options = [ "bind" "nofail" ];
};
# Only /var/lib/seerr (eMMC) is picked up automatically; pin to the array.
systemd.services.seerr.unitConfig.RequiresMountsFor = [ "/mnt/data" ];
systemd.tmpfiles.rules = [
"d /mnt/data/AppData/seerr 0755 darman users -"
];
}