From 4aead74c7fd7bc99a1dfc78f6937d7a314c04467 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Fri, 31 May 2024 16:05:13 -0500 Subject: [PATCH] temp --- modules/apps/jellyfin/default.nix | 110 ++++++++++++------------------ 1 file changed, 45 insertions(+), 65 deletions(-) diff --git a/modules/apps/jellyfin/default.nix b/modules/apps/jellyfin/default.nix index 509cfa9..27206d3 100644 --- a/modules/apps/jellyfin/default.nix +++ b/modules/apps/jellyfin/default.nix @@ -6,69 +6,49 @@ in { 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" ]; - }; - }; -} -# { 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"; -# # }; -# # }; +# 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; + }; + }; +}; +}