{ ... }: # Seerr (formerly Jellyseerr) — request manager for Jellyfin, talks to # Sonarr/Radarr to fulfill requests. Fresh install, no migrated data. # # configDir stays at the module default; bind-mount AppData onto it instead # of overriding configDir, so data lives on the RAID array and survives an # OS-disk reinstall (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 -" ]; }