Files
nix/hosts/jupiter/hardware/default.nix
Nikolaos Karaolidis eb3c301ef6 Fuck you nvidia
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-10-06 18:10:15 +01:00

111 lines
2.7 KiB
Nix

{
config,
pkgs,
inputs,
...
}:
{
nixpkgs.overlays = [ inputs.nvidia-patch.overlays.default ];
imports = [ ./display.nix ];
hardware = {
enableAllFirmware = true;
cpu = {
cores = 8;
threads = 16;
amd.updateMicrocode = true;
};
nvidia = {
# FIXME: https://github.com/icewind1991/nvidia-patch-nixos/issues/9
package =
let
# FIXME: HDMI Crash, God knows when it will be reported and/or fixed
nvidiaStable = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "580.82.09";
sha256_64bit = "sha256-Puz4MtouFeDgmsNMKdLHoDgDGC+QRXh6NVysvltWlbc=";
sha256_aarch64 = "sha256-6tHiAci9iDTKqKrDIjObeFdtrlEwjxOHJpHfX4GMEGQ=";
openSha256 = "sha256-YB+mQD+oEDIIDa+e8KX1/qOlQvZMNKFrI5z3CoVKUjs=";
settingsSha256 = "sha256-um53cr2Xo90VhZM1bM2CH4q9b/1W2YOqUcvXPV6uw2s=";
persistencedSha256 = "sha256-lbYSa97aZ+k0CISoSxOMLyyMX//Zg2Raym6BC4COipU=";
};
maybeFbc =
if builtins.hasAttr nvidiaStable.version pkgs.nvidia-patch-list.fbc then
pkgs.nvidia-patch.patch-fbc nvidiaStable
else
nvidiaStable;
nvidiaStableFinal =
if builtins.hasAttr nvidiaStable.version pkgs.nvidia-patch-list.nvenc then
pkgs.nvidia-patch.patch-nvenc maybeFbc
else
maybeFbc;
in
nvidiaStableFinal;
open = true;
powerManagement.enable = true;
dynamicBoost.enable = true;
prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
nvidiaBusId = "PCI:1:0:0";
amdgpuBusId = "PCI:6:0:0";
};
};
graphics = {
enable32Bit = true;
extraPackages = with pkgs; [
rocmPackages.clr
rocmPackages.clr.icd
];
};
nvidia-container-toolkit.enable =
config.virtualisation.containerd.enable || config.virtualisation.podman.enable;
};
# Lobotomize CPU so that it stays below boiling temps
powerManagement = {
cpuFreqGovernor = "conservative";
cpufreq = {
min = 403488;
max = 4465261;
};
};
boot = {
kernelParams = [ "amd_pstate=passive" ];
kernelModules = [ "kvm-amd" ];
initrd.kernelModules = [
"nvme"
"ahci"
"usbhid"
"amdgpu"
"xhci_pci"
"usb_storage"
"usbcore"
"sd_mod"
"uas"
"vfat"
"nls_cp437"
"nls_iso8859_1"
];
};
nixpkgs.config.cudaSupport = true;
services = {
xserver.videoDrivers = [ "nvidia" ];
fstrim.enable = true;
logind.settings.Login.HandleLidSwitch = "ignore";
};
}