Files
homelab/hosts/sin/jellyfin.nix
T
sin_serhao f5e3ef7c5b
/ perform flake analysis (push) Failing after 3h7m58s
/ build hive configuration (push) Failing after 12m57s
heuuu plein de trucs en vrais
2026-06-22 11:53:37 +02:00

169 lines
3.2 KiB
Nix

{
pkgs,
inputs,
...
}:
let
nixpkgs-2505 = import inputs.nixpkgs-2505 {
system = pkgs.stdenv.system;
config.allowUnfree = true;
config.permittedInsecurePackages = [ "intel-media-sdk-23.2.2" ];
};
in
{
systemd.services.jellyfin.environment = {
LIBVA_DRIVER_NAME = "iHD"; # or i965 for older GPUs
NEOReadDebugKeys = "1";
OverrideGpuAddressSpace = "48";
};
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "iHD";
NEOReadDebugKeys = "1";
OverrideGpuAddressSpace = "48";
};
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-ocl # Generic OpenCL support
intel-compute-runtime-legacy1
intel-media-driver
nixpkgs-2505.intel-media-sdk
];
};
hardware.enableRedistributableFirmware = true;
boot.kernelParams = [ "i915.enable_guc=3" ];
nixpkgs.config.permittedInsecurePackages = [
# "dotnet-sdk-6.0.428"
# "aspnetcore-runtime-6.0.36"
"intel-media-sdk-23.2.2"
];
users.users."starr" = {
isSystemUser = true;
group = "starr";
extraGroups = [ "jellyfin" ];
};
users.users.sonarr.extraGroups = [
"jellyfin"
"radarr"
"transmission"
"starr"
];
users.users.radarr.extraGroups = [
"jellyfin"
"sonarr"
"transmission"
"starr"
];
users.users.bazarr.extraGroups = [
"jellyfin"
"sonarr"
"transmission"
"starr"
"radarr"
];
users.users.lidarr.extraGroups = [
"jellyfin"
"starr"
"transmission"
];
users.users.whisparr.extraGroups = [
"jellyfin"
"starr"
"transmission"
];
users.users.shobu.extraGroups = [
"jellyfin"
"starr"
"transmission"
"radarr"
"sonarr"
];
users.users.jellyfin.extraGroups = [
"render"
"video"
];
users.groups = {
starr = {
gid = 990;
};
};
services =
let
mkEnvFile =
name:
(pkgs.writeText "${name}.env" ''
${name}__AUTH__ENABLED=false
${name}__AUTH__METHOD=External
'');
in
{
jellyfin = {
enable = true;
openFirewall = true;
};
sonarr = {
enable = true;
openFirewall = true;
group = "starr";
environmentFiles = [
(mkEnvFile "SONARR")
];
};
radarr = {
enable = true;
openFirewall = true;
group = "starr";
environmentFiles = [
(mkEnvFile "RADARR")
];
};
prowlarr = {
enable = true;
openFirewall = true;
environmentFiles = [
(mkEnvFile "PROWLARR")
];
};
bazarr = {
enable = true;
openFirewall = true;
group = "starr";
};
lidarr = {
enable = true;
openFirewall = true;
environmentFiles = [
(mkEnvFile "LIDARR")
];
};
whisparr = {
enable = true;
openFirewall = true;
environmentFiles = [
(mkEnvFile "WHISPARR")
];
};
jellyseerr = {
enable = true;
openFirewall = true;
};
};
environment.systemPackages = [
pkgs.jellyfin
pkgs.jellyfin-web
pkgs.jellyfin-ffmpeg
];
}