# A FLOSS media server { config, lib, ... }: let cfg = config.my.services.jellyfin; domain = config.networking.domain; jellyfinDomain = "jellyfin.${config.networking.domain}"; in { options.my.services.jellyfin = { enable = lib.mkEnableOption "Jellyfin Media Server"; }; config = lib.mkIf cfg.enable { services.jellyfin = { enable = true; group = "media"; }; # Proxy to Jellyfin services.nginx.virtualHosts."${jellyfinDomain}" = { forceSSL = true; useACMEHost = "${domain}"; locations."/".proxyPass = "http://localhost:8096/"; }; }; }