124 lines
2.3 KiB
Nix
124 lines
2.3 KiB
Nix
{ pkgs, inputs, ... }:
|
|
let
|
|
unstable = import inputs.unstable { system = pkgs.system; };
|
|
in
|
|
{
|
|
nixpkgs.config.packageOverrides = pkgs: {
|
|
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
|
};
|
|
hardware.graphics = {
|
|
enable = true;
|
|
extraPackages = with pkgs; [
|
|
intel-media-driver
|
|
intel-vaapi-driver
|
|
vaapiVdpau
|
|
intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
|
|
vpl-gpu-rt # QSV on 11th gen or newer
|
|
intel-media-sdk # QSV up to 11th gen
|
|
];
|
|
};
|
|
|
|
nixpkgs.config.permittedInsecurePackages = [
|
|
"dotnet-sdk-6.0.428"
|
|
"aspnetcore-runtime-6.0.36"
|
|
];
|
|
|
|
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.groups = {
|
|
starr = { };
|
|
};
|
|
|
|
services = {
|
|
jellyfin = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
|
|
sonarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
group = "starr";
|
|
settings = {
|
|
authentication.AuthenticationMethod = "external";
|
|
authentication.AuthenticationType = "enabled";
|
|
};
|
|
};
|
|
radarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
group = "starr";
|
|
};
|
|
prowlarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
bazarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
lidarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
whisparr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
|
|
jellyseerr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
};
|
|
|
|
environment.systemPackages = [
|
|
pkgs.jellyfin
|
|
pkgs.jellyfin-web
|
|
pkgs.jellyfin-ffmpeg
|
|
];
|
|
}
|