98 lines
2.4 KiB
Nix
98 lines
2.4 KiB
Nix
{ config, pkgs, lib, system, ... }:
|
|
|
|
{
|
|
config = {
|
|
homelab = {
|
|
apps.jellyfin.enable = true;
|
|
virtualisation.guest.enable = true;
|
|
};
|
|
|
|
networking = {
|
|
hostId = "aaaa2200";
|
|
domain = "roxanne.depeuter.dev";
|
|
|
|
useDHCP = false;
|
|
|
|
enableIPv6 = true;
|
|
|
|
defaultGateway = {
|
|
address = "192.168.0.1";
|
|
interface = "ens18";
|
|
};
|
|
|
|
# Open ports in the firewall.
|
|
firewall = {
|
|
enable = true;
|
|
};
|
|
|
|
interfaces.ens18 = {
|
|
ipv4.addresses = [
|
|
{
|
|
address = "192.168.0.94";
|
|
prefixLength = 24;
|
|
}
|
|
];
|
|
};
|
|
|
|
nameservers = [
|
|
"1.1.1.1" # Cloudflare
|
|
"1.0.0.1" # Cloudflare
|
|
];
|
|
};
|
|
|
|
system.stateVersion = "24.11";
|
|
|
|
### Nvidia GPU support ###
|
|
|
|
services.xserver.videoDrivers = [ "nvidia" ];
|
|
|
|
# virtualisation.docker.package = pkgs.nvidia-docker;
|
|
|
|
nixpkgs.config = {
|
|
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
"nvidia-x11"
|
|
"nvidia-settings"
|
|
"nvidia-persistenced"
|
|
];
|
|
|
|
# enable vaapi on OS-level
|
|
# packageOverrides = pkgs: {
|
|
# vaapiIntel = pkgs.vaapiIntel.override {
|
|
# enableHybridCodec = true;
|
|
# };
|
|
# };
|
|
};
|
|
|
|
hardware = {
|
|
graphics = {
|
|
enable = true;
|
|
# driSupport = true;
|
|
# driSupport32Bit = true;
|
|
extraPackages = with pkgs; [
|
|
# intel-media-driver
|
|
# intel-vaapi-driver # previously vaapiIntel
|
|
# vaapiVdpau
|
|
# intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
|
|
# unstable.vpl-gpu-rt # QSV on 11th gen or newer
|
|
# intel-media-sdk # QSV up to 11th gen
|
|
];
|
|
};
|
|
|
|
nvidia = {
|
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
|
# Whether to enable kernel modesetting when using the NVIDIA proprietary driver.
|
|
modesetting.enable = true;
|
|
# powerManagement = {
|
|
# enable = false;
|
|
# finegrained = false;
|
|
# };
|
|
open = false;
|
|
nvidiaSettings = false;
|
|
|
|
# Whether to enable nvidia-persistenced a update for NVIDIA GPU headless mode, i.e. It ensures all GPUs stay awake even during headless mode .
|
|
# nvidiaPersistenced = true;
|
|
};
|
|
nvidia-container-toolkit.enable = true;
|
|
};
|
|
};
|
|
}
|