nixflix is a free, open source digital asset management (dam) project written in Nix and released under MPL-2.0. It has 569 GitHub stars, 40 forks and 11 open issues, and was last pushed 28 hours ago. On this registry it ranks #23 of 25 tracked projects in Digital Asset Management (DAM), with 5 head-to-head comparisons available.

What is nixflix?

Nixflix is a declarative media server configuration manager for NixOS that provisions and wires together the Starr services, Jellyfin, Seerr and their supporting tools from a single Nix flake, aimed at homelab operators who would rather keep their media stack in version control than click through a dozen web UIs.

What it is

Nixflix is a NixOS configuration module that automates the connective tissue required to run a media server. Its scope covers Sonarr, Radarr, Lidarr, Prowlarr, Jellyfin and Seerr, plus the surrounding pieces those services depend on: SABnzbd, qBittorrent, Navidrome, Maintainerr and WireGuard. Configuration is expressed as NixOS options, and Nixflix applies it by calling the official REST APIs of each service, with a small number of exceptions. The result is opinionated, idempotent and repeatable: services can be reconfigured safely over and over, and the Nix code stays the single source of truth so configuration drift does not accumulate.

The concrete problem it replaces is manual setup of a media server stack. Without it, an operator faces settings with no version control, tedious navigation through each service's UI, and annoying interservice configuration to make the pieces talk to each other. Root folders have to be created and assigned, indexers propagated, download clients linked to the Starr applications, Jellyfin libraries built to match the media managers actually in use, and request management connected on both sides. Nixflix exists so that, in the author's framing, this is configured once and then just works. It lives in the NixOS ecosystem, and the thing it replaces is the hand-built, click-driven installation of that same stack.

Key capabilities

  • Pre-configured modules for Sonarr, Radarr, Lidarr and Prowlarr, with declarative API configuration applied through each service's REST API.
  • Optional PostgreSQL backend for all Arr services, as an alternative to their default databases.
  • Reverse proxy integration for nginx or Caddy across all services, with a per-service opt-out.
  • Built-in WireGuard VPN support with a kill switch and custom DNS.
  • Jellyfin management covering libraries that are automatically configured based on the selected media managers, plus plugin and subtitle downloader management.
  • Seerr media request management with automatic integration to the Starr services and to Jellyfin libraries.
  • Default configuration that follows TRaSH Guides, and unified theming across supported services powered by theme.park.

Who uses it and how

  • Homelab operators running NixOS who already treat their machine configuration as code and want the media stack to live in the same repository.
  • Users assembling a full Starr pipeline, where SABnzbd and qBittorrent are wired into the Starr services automatically rather than linked by hand.
  • Households serving media through Jellyfin who want libraries generated from whichever media managers they enabled, and who want friends and family to request titles through Seerr.
  • Operators who need their indexers and download traffic routed through WireGuard with a kill switch, so a dropped tunnel does not expose the traffic.
  • Music-focused users running Navidrome over the OpenSubsonic API, with cleanup of older media handled by Maintainerr.

Getting started

Nixflix is consumed as a Nix flake and configured through NixOS options, with the project documentation at https://kiriwalawren.github.io/nixflix serving as the entry point. Contributors enter the development shell with nix develop, format with nix fmt, and verify formatting and linting with nix flake check.

How it compares

No list of paid products that Nixflix replaces is provided, and the facts name no comparable alternative projects, so within this registry it stands alone: it is the NixOS-native declarative media server configuration manager. The contrast it does draw is internal to the workflow, pitching API-driven configuration on NixOS against rebuilding the same stack by hand through service UIs. It is licensed under MPL-2.0.

When to use it — and when not to

A self-hoster adopting Nixflix must already run NixOS and be comfortable with flakes and NixOS options, and must operate the services themselves, including the optional PostgreSQL backend, a WireGuard tunnel, an nginx or Caddy reverse proxy, and the download clients. Anyone unwilling to maintain a Nix configuration, or who wants a stack on a non-NixOS distribution, should not pick it — the module is tied to NixOS by design. The honest limitations are visible in the project itself: music tooling is still listed as an upcoming feature rather than a finished one, and the defaults are deliberately opinionated, so operators who want to deviate from the TRaSH Guides baseline will be working against the grain that the project is built on.

project readme (upstream, from github) — read inline

Nixflix

Nixflix is a declarative media server configuration manager for NixOS. The aim of the project is to automate all of the connective tissue required to get Starr and Jellyfin services (Sonarr, Radarr, Lidarr, Prowlarr, Jellyfin, Seerr) working together. I want users to be able to configure this module and it just works.

Why Nixflix?

Dreading the thought of configuring a media server from scratch. Again...

Nixflix makes it so you never have to again!

Managing media server configuration can be very painful:

  • No version control for settings
  • Tedious navigation through UI systems
  • And annoying interservice Configuration

All of these services have APIs, surely we can use this to automate the whole thing.

Nixflix is:

  • Opinionated — Don't you hate having to think for yourself?
  • API-based — Nixflix uses official REST APIs of each service (with a couple minor exceptions)
  • Idempotent — All services safely execute repeatedly
  • Commanding — Your code is the source of truth, no need to fear drift

Features

  • Media Server Stack: Pre-configured modules for Sonarr, Radarr, Lidarr, and Prowlarr
  • Declarative API Configuration: Configure services declaratively via NixOS options, automatically applied through their REST APIs
  • PostgreSQL Integration: Optional PostgreSQL backend for all Arr services
  • WireGuard VPN Integration: Built-in support for Wireguard VPN with kill switch and custom DNS
  • Flexible Directory Management: Configurable media and state directories with automatic setup
  • Service Dependencies: Configure custom systemd service dependencies
  • Reverse Proxy Support: Configurable nginx or Caddy integration for all services, with per-service opt-out
  • Unified Theming: All supported services can be themed to look the same, powered by theme.park
  • TRaSH Guides: Default configuration follows TRaSH guidelines

Upcoming Features

  • Better music tooling

Documentation

Check out the documentation to get started.

Services

Starr Stack

All Arr services (Sonarr, Radarr, Lidarr, Prowlarr) support:

  • API-based configuration
  • PostgreSQL integration
  • Reverse proxy (nginx or Caddy)
  • Automatic directory creation
  • Root folder management
  • Custom media directories

Jellyfin

  • Basic server management
  • Libraries are automatically configured based on selected media managers
  • Plugin management
  • Subtitle downloader management

Seerr

  • Media request management
  • Automatic integration with Starr services
  • Automatic integration with Jellyfin libraries

Navidrome

  • Music Server
  • Supports OpenSubsonic API

SABnzbd

  • Automatic integration with Starr services

qBittorrent

  • Automatic integration with Starr services

WireGuard VPN

  • Generic WireGuard support
  • Kill switch

Maintainerr

  • Automatic cleanup of old media

Development

Enter development shell:

nix develop

Format code:

nix fmt

Check formatting and linting:

nix flake check

License

MPL 2.0

Frequently asked questions

Is nixflix free to use?

nixflix is open source under the MPL-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does nixflix do?

NixOS Media Server Configuration

What is nixflix written in?

nixflix is primarily written in Nix. Its source is publicly available at https://github.com/kiriwalawren/nixflix, and it has 569 GitHub stars.