From 2cd032ef2a47775081abb61a970c098a5bee5817 Mon Sep 17 00:00:00 2001 From: Adrian Gunnar Lauterer Date: Thu, 16 Oct 2025 17:47:52 +0200 Subject: [PATCH] nvidia --- hosts/galadriel/configuration.nix | 3 ++- hosts/galadriel/nvidia.nix | 43 +++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 hosts/galadriel/nvidia.nix diff --git a/hosts/galadriel/configuration.nix b/hosts/galadriel/configuration.nix index 26025f6..adc56b2 100644 --- a/hosts/galadriel/configuration.nix +++ b/hosts/galadriel/configuration.nix @@ -13,6 +13,7 @@ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix + ./nvidia.nix ../../modules/boot.nix ../../modules/zram.nix ../../modules/zfs.nix @@ -31,7 +32,7 @@ ../../modules/vaultvarden.nix ../../modules/jellyfin.nix ../../modules/jupyterhub.nix - ../../modules/qbittorrent.nix # broken for now?: Yes, just need to add the zfs disc again, to enable the paths this depends on. Lets redo that maybe? + ../../modules/qbittorrent.nix ../../modules/mealie.nix ../../modules/miniflux.nix ../../modules/ollama.nix diff --git a/hosts/galadriel/nvidia.nix b/hosts/galadriel/nvidia.nix new file mode 100644 index 0000000..8718cab --- /dev/null +++ b/hosts/galadriel/nvidia.nix @@ -0,0 +1,43 @@ +{ config, lib, pkgs, ... }: +{ + # Enable OpenGL + hardware.graphics = { + enable = true; + enable32Bit = true; + }; + + + # Load nvidia driver for Xorg and Wayland + services.xserver.videoDrivers = ["nvidia"]; + boot.initrd.kernelModules = [ "nvidia" ]; + hardware.nvidia = { + modesetting.enable = true; + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + #powerManagement.enable = true; + # Fine-grained power management. Turns off GPU when not in use. Experimental and only works on modern Nvidia GPUs (Turing or newer). + powerManagement.finegrained = true; + + # Use the NVidia open source kernel module (not to be confused with the independent third-party "nouveau" open source driver). + # Currently alpha-quality/buggy, so false is currently the recommended setting. + open = false; #need proprietary for cuda. + + # Enable the Nvidia settings menu, accessible via `nvidia-settings`. + #nvidiaSettings = true; + + # Optionally, you may need to select the appropriate driver version for your specific GPU. + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + + # Enable the CUDA toolkit + #install packages + environment.systemPackages = with pkgs; [ + cudaPackages.cudatoolkit + cudaPackages.cudnn + nvtopPackages.nvidia + cudaPackages.nccl + pkgs.cudaPackages.libcublas + ]; + + +} +