49 lines
1.6 KiB
Nix
49 lines
1.6 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
nixarr.jellyfin = {
|
|
# NOTE: cannot set password so just set the generated one manually
|
|
enable = true;
|
|
};
|
|
services.nginx.virtualHosts."jellyfin.moritz.place" = {
|
|
forceSSL = true;
|
|
useACMEHost = "any.moritz.place";
|
|
locations."/" = {
|
|
proxyPass = "http://127.0.0.1:8096";
|
|
};
|
|
};
|
|
# 1. enable vaapi on OS-level
|
|
systemd.services.jellyfin.environment.LIBVA_DRIVER_NAME = "iHD"; # Or "i965" if using older driver
|
|
environment.sessionVariables = {LIBVA_DRIVER_NAME = "iHD";}; # Same here
|
|
hardware.graphics = {
|
|
enable = true;
|
|
extraPackages = with pkgs; [
|
|
intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD
|
|
libva-vdpau-driver # Previously vaapiVdpau
|
|
intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
|
|
vpl-gpu-rt # QSV on 11th gen or newer
|
|
intel-ocl # OpenCL support
|
|
];
|
|
};
|
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
builtins.elem (lib.getName pkg) [
|
|
"intel-ocl"
|
|
];
|
|
|
|
clan.core.vars.generators."nixarr-ds-share".prompts.config = {
|
|
type = "multiline";
|
|
persist = true;
|
|
};
|
|
|
|
fileSystems."/mnt/ds_media" = {
|
|
device = "//192.168.0.2/media/";
|
|
fsType = "cifs";
|
|
options = let
|
|
# this line prevents hanging on network split
|
|
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s";
|
|
in ["${automount_opts},credentials=${config.clan.core.vars.generators.nixarr-ds-share.files.config.path},gid=${builtins.toString config.users.groups.media.gid}"];
|
|
};
|
|
}
|