{ config, pkgs, ... }: { # Jellyfin # Nix # environment.systemPackages = [ # pkgs.jellyfin # pkgs.jellyfin-web # pkgs.jellyfin-ffmpeg # ]; # services.jellyfin = { # enable = true; # user = "911"; # group = "1000"; # # dataDir = "/mnt/Safe\ SSD/ssd_app_data/jellyfin/config"; # defaults to /var/lib/jellyfin and cannot be changed.... # openFirewall = true; # }; # nix-docker # virtualisation.oci-containers.containers."jellyfin" = { # autoStart = true; # image = "linuxserver/jellyfin"; # cmd = [ "--gpus all" ]; # volumes = [ # "/mnt/Safe\ SSD/ssd_app_data/jellyfin/config:/config" # "/mnt/Safe\ SSD/ssd_app_data/jellyfin/cache:/cache" # "/mnt/Safe\ SSD/ssd_app_data/jellyfin/log:/log" # "/mnt/Main\ Pool/Movies:/movies" # "/mnt/Main\ Pool/TV:/tv" # ]; # ports = [ "8096:8096" ]; # environment = { # NVIDIA_VISIBLE_DEVICES = "all"; # NVIDIA_DRIVER_CAPABILITIES = "compute,utility"; # JELLYFIN_LOG_DIR = "/log"; # PUID = "911"; # PGID = "1000"; # }; # }; # Manual systemd.services.jellyfin-nvidia-docker = { path = [ pkgs.bash pkgs.docker ]; script = '' set -e exec docker run \ --rm \ --gpus all \ --runtime=nvidia \ --name=jellyfin \ -e PUID=911 \ -e PGID=1000 \ -e TZ=America/Chicago \ -e 'NVIDIA_DRIVER_CAPABILITIES'='all' \ -e 'NVIDIA_VISIBLE_DEVICES'='all' \ -p 8096:8096 \ -v '/mnt/ssd/nix-app-data/jellyfin:/config' \ -v '/mnt/mainpool/Movies:/data/movies' \ -v '/mnt/mainpool/TV:/data/tv' \ lscr.io/linuxserver/jellyfin:latest ''; wantedBy = [ "multi-user.target" ]; }; }