{ containers.jellyfin = { autoStart = true; privateNetwork = true; extraVeths.vb-jellyfin = { hostBridge = "br-lan0"; #localMacAddress = "02:00:00:00:00:02"; # TODO update to 26.05 }; bindMounts = { "/media" = { hostPath = "/media/ingens/media"; isReadOnly = true; }; }; # GPU allowedDevices = [ { node = "/dev/dri/card1"; modifier = "rw"; } { node = "/dev/dri/renderD128"; modifier = "rw"; } ]; bindMounts = { "/dev/dri/card1" = { hostPath = "/dev/dri/card1"; isReadOnly = false; }; "/dev/dri/renderD128" = { hostPath = "/dev/dri/renderD128"; isReadOnly = false; }; }; config = { lib, config, ... }: { # Network networking.interfaces.vb-jellyfin.useDHCP = true; networking.firewall.allowedTCPPorts = [ 80 ]; # Caddy # CUDA nix.settings = { substituters = [ "https://cache.flox.dev" ]; trusted-public-keys = [ "flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs=" ]; }; #nixpkgs.config.cudaSupport = true; users.users.jellyfin.extraGroups = [ "video" "render" ]; # Jellyfin services.jellyfin = { enable = true; openFirewall = true; #hardwareAcceleration = { # enable = true; # type = "nvenc"; # device = "/dev/dri/renderD128"; #}; }; # Reverse proxy services.caddy = { enable = true; virtualHosts.":80".extraConfig = '' reverse_proxy localhost:8096 ''; }; system.stateVersion = "26.05"; }; }; }