Skip to content

Jellyfin - Live Tv - Tuners

Configuration options for jellyfin liveTv tuners.

Available Options

This page documents 4 configuration options.

nixflix.jellyfin.liveTv.tuners

M3U tuners (IPTV playlists) for Live TV.

Declared tuners are created or updated in place; one is only written when it differs from what Jellyfin holds. A tuner that was declared before and is no longer is removed. Tuners added by hand in the dashboard are never touched.

Typeattribute set of (submodule)
Default
{ }
Example
{
  iptv = {
    url = "/var/lib/iptv/channels.m3u";
    settings.tunerCount = 2;
  };
}
Declared inmodules/jellyfin/liveTv/options.nix

nixflix.jellyfin.liveTv.tuners.<name>.friendlyName

Name of the tuner in Jellyfin's Live TV settings.

Typestring
Default
<name>
Declared inmodules/jellyfin/liveTv/options.nix

nixflix.jellyfin.liveTv.tuners.<name>.settings

Further TunerHostInfo fields, in camelCase (converted to Jellyfin's PascalCase). Fields not set here keep the value Jellyfin already holds. type, url and friendlyName are set by the options above.

Typeattribute set of (boolean or signed integer or string or list of string)
Default
{ }
Example
{
  tunerCount = 0;
  allowStreamSharing = true;
  enableStreamLooping = true;
  ignoreDts = true;
  readAtNativeFramerate = true;
  userAgent = "Mozilla/5.0";
}
Declared inmodules/jellyfin/liveTv/options.nix

nixflix.jellyfin.liveTv.tuners.<name>.url

The M3U playlist: a local file path or an http(s) URL. This is how Jellyfin identifies the tuner, so changing it replaces the tuner (its channels get new ids). Use { _secret = path; } for a provider URL that carries credentials.

Warning

Can be a plain string (visible in Nix store) or { _secret = /path/to/file; } for file-based secrets.

Plain-text secrets will be visible in the Nix store. Use { _secret = path; } for sensitive data.

Typenon-empty string or (submodule)
Default
null
Example
"/var/lib/iptv/channels.m3u"
Declared inmodules/jellyfin/liveTv/options.nix