{ lib, pkgs, config, ... }: with lib; let cfg = config.luj.mediaserver; in { options.luj.mediaserver = { enable = mkEnableOption "enable the mediaserver"; }; config = mkIf cfg.enable { users.users.mediaserver = { name = "mediaserver"; isNormalUser = true; home = "/home/mediaserver"; group = config.users.groups.mediaserver.name; }; users.groups.mediaserver = { name = "mediaserver"; }; luj.sonarr = { enable = true; user = "mediaserver"; group = "mediaserver"; nginx.enable = true; nginx.subdomain = "series"; }; luj.radarr = { enable = true; user = "mediaserver"; group = "mediaserver"; nginx.enable = true; nginx.subdomain = "films"; }; luj.lidarr = { enable = true; user = "mediaserver"; group = "mediaserver"; nginx.enable = true; nginx.subdomain = "songs"; }; luj.jellyfin = { enable = true; user = "mediaserver"; group = "mediaserver"; nginx.enable = true; nginx.subdomain = "tv"; }; luj.jackett = { enable = true; user = "mediaserver"; group = "mediaserver"; nginx.enable = true; nginx.subdomain = "jackett"; }; luj.flaresolverr.enable = true; luj.navidrome = { enable = true; user = "mediaserver"; group = "mediaserver"; nginx.enable = true; nginx.subdomain = "music"; }; luj.transmission = { enable = true; user = "mediaserver"; group = "mediaserver"; nginx.enable = true; nginx.subdomain = "downloads"; }; }; }