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
27 lines
982 B
Nix
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 -"
|
|
];
|
|
}
|