Skip to content

Jellyfin - Plugins

Configuration options for jellyfin plugins.

Available Options

This page documents 4 configuration options.

nixflix.jellyfin.plugins

Jellyfin plugins to manage declaratively.

Each key is the plugin name exactly as it appears in the Jellyfin repository manifest (e.g. "Anime", "Bookshelf", "Trakt"). Plugin names must be unique across all configured plugin repositories.

Plugins are installed from package. This can either be a normal Nix derivation, or a repository lookup created with nixflix.lib.jellyfinPlugins.fromRepo.

Plugin changes (installs, removals, version updates) cause Jellyfin to restart automatically. Plan plugin changes for maintenance windows to avoid interrupting active streams.

Typeattribute set of (submodule)
Default
{ }
Example
{
  "Bookshelf" = {
    package = nixflix.lib.jellyfinPlugins.fromRepo {
      version = "13.0.0.0";
      hash = "sha256-16jaQRh1rIFE27nSSEWNF7UjVsPJDaRf24Ews0BZGas=";
    };
    config = {
      # Plain string (visible in Nix store)
      ComicVineApiKey = "my-api-key";
      # Or as a secret (read from file at activation time)
      # ComicVineApiKey._secret = "/run/secrets/comic-vine-api-key";
    };
  };

  "Intro Skipper" = {
    package = myJellyfinPlugin;
  };
}
Declared inmodules/jellyfin/options/plugins.nix

nixflix.jellyfin.plugins.<name>.config

Plugin configuration payload as seen in the Jellyfin UI/API. All attributes under this option are POSTed to /Plugins/<id>/Configuration.

Typeattribute set of anything
Default
{ }
Example
{
  ComicVineApiKey._secret = "/run/secrets/comic-vine-api-key";
}
Declared inmodules/jellyfin/options/plugins.nix

nixflix.jellyfin.plugins.<name>.enable

Whether this plugin should be installed. When false, the plugin is treated as absent: if it was previously installed by nixflix it will be uninstalled on the next nixos-rebuild. This is equivalent to removing the attribute entirely from nixflix.jellyfin.plugins.

Typeboolean
Default
true
Declared inmodules/jellyfin/options/plugins.nix

nixflix.jellyfin.plugins.<name>.package

Nix package containing the unpacked Jellyfin plugin files to copy into Jellyfin's plugin directory.

For repository-managed plugins, use nixflix.lib.jellyfinPlugins.fromRepo { version = ...; hash = ...; } to resolve a deterministic package from the pinned plugin manifests.

Typenull or package or (submodule)
Default
null
Example
nixflix.lib.jellyfinPlugins.fromRepo {
  version = "13.0.0.0";
  hash = "sha256-16jaQRh1rIFE27nSSEWNF7UjVsPJDaRf24Ews0BZGas=";
}
Declared inmodules/jellyfin/options/plugins.nix