Files
nix-config/modules/apps/jellyfin/default.nix
mjallen18 4aead74c7f temp
2024-05-31 16:05:13 -05:00

55 lines
1.4 KiB
Nix

{ lib, pkgs, config, ... }:
with lib;
let cfg = config.nas-apps.jellyfin;
in {
imports = [ ./options.nix ];
config = mkIf cfg.enable {
# systemd.services.jellyfin-nvidia-docker = {
# path = [ pkgs.bash pkgs.docker ];
# script = ''
# set -e
# exec sudo docker run \
# --rm \
# --gpus all \
# --runtime=nvidia \
# --name=${cfg.name} \
# -e PUID=${cfg.puid} \
# -e PGID=${cfg.pgid} \
# -e TZ=${cfg.timeZone} \
# -e 'NVIDIA_DRIVER_CAPABILITIES'='all' \
# -e 'NVIDIA_VISIBLE_DEVICES'='all' \
# -p ${cfg.port}:8096 \
# -v '${cfg.configPath}:/config' \
# -v '${cfg.moviesPath}:/data/movies' \
# -v '${cfg.tvPath}:/data/tv' \
# ${cfg.image}:latest
# '';
# wantedBy = [ "multi-user.target" ];
# };
# };
# }
# nix-docker
virtualisation.oci-containers.containers.${cfg.name} = {
autoStart = true;
image = cfg.image;
extraOptions = [ "--device=nvidia.com/gpu=0" ];
volumes = [
"${cfg.configPath}:/config"
"${cfg.moviesPath}:/data/movies"
"${cfg.tvPath}:/data/tv"
];
ports = [ "${cfg.port}:8096" ];
environment = {
NVIDIA_VISIBLE_DEVICES = "all";
NVIDIA_DRIVER_CAPABILITIES = "all";
PUID = cfg.puid;
PGID = cfg.pgid;
TZ = cfg.timeZone;
};
};
};
}