84 lines
1.9 KiB
Nix
84 lines
1.9 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.shobu.extraGroups = [ "jellyfin" "starr" "transmission" "radarr" "sonarr" ];
|
|
|
|
|
|
users.groups = {
|
|
starr = {};
|
|
};
|
|
|
|
services = {
|
|
jellyfin = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
|
|
sonarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
group = "starr";
|
|
};
|
|
radarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
group = "starr";
|
|
};
|
|
prowlarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
bazarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
lidarr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
package = unstable.lidarr;
|
|
};
|
|
|
|
jellyseerr = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
};
|
|
|
|
environment.systemPackages = [
|
|
pkgs.jellyfin
|
|
pkgs.jellyfin-web
|
|
pkgs.jellyfin-ffmpeg
|
|
];
|
|
}
|