nixos/server/jellyfin/default.nix
2026-01-14 01:24:17 +01:00

59 lines
1.4 KiB
Nix

{
lib,
config,
pkgs,
...
}:
{
options.server.jellyfin.enable = lib.mkEnableOption "Enable Jellyfin+Jellyseerr";
config = lib.mkIf config.server.jellyfin.enable {
users.users.jellyfin = {
isSystemUser = true;
group = "jellyfin";
};
networking.firewall.allowedTCPPorts = [
5055
8096
];
networking.firewall.allowedUDPPorts = [ 8096 ];
# Jellyfin
environment.systemPackages = with pkgs; [
jellyfin
jellyfin-web
jellyfin-ffmpeg
];
services.jellyfin.enable = true;
nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
};
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver
intel-vaapi-driver # previously vaapiIntel
libva-vdpau-driver
intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
vpl-gpu-rt # QSV on 11th gen or newer
];
};
# services.jellyseerr = {
# enable = true;
# port = 5055;
# openFirewall = true;
# };
virtualisation.oci-containers.containers."jellyseerr-music" = {
image = "seerr/seerr:preview-music-support";
extraOptions = [ "--network=host" ];
volumes = [ "/var/lib/jellyseerr/config:/app/config" ];
};
};
}