{ lib, pkgs, config, ... }: let enabled = config.mod.jellyfin.enable; in { options = { mod.jellyfin = { enable = lib.mkEnableOption "Enable jellyfin module"; }; }; config = lib.mkIf enabled { users.users.jellyfin = { isSystemUser = true; group = "storage"; extraGroups = [ "render" "video" ]; }; hardware = { graphics = { enable = true; extraPackages = [ pkgs.intel-media-driver # Modern Intel VA-API driver (needed for N305) pkgs.libvdpau-va-gl # VDPAU backend for VA-API GLX interop ]; }; }; services = { jellyfin = { enable = true; openFirewall = true; user = "jellyfin"; group = "storage"; }; }; environment.systemPackages = [ pkgs.jellyfin pkgs.jellyfin-web pkgs.jellyfin-ffmpeg ]; }; }