From 55767854e13dfe5e26311f222e3d713cf11ac3b3 Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Wed, 17 Jun 2026 18:44:14 -0500 Subject: move nvidia settings to separate file for poweredge host and immich/jellyfin containers --- hosts/poweredge/configuration.nix | 11 +---------- hosts/poweredge/immich.nix | 25 +++---------------------- hosts/poweredge/jellyfin.nix | 20 ++------------------ hosts/poweredge/nvidia.nix | 22 ++++++++++++++++++++++ 4 files changed, 28 insertions(+), 50 deletions(-) create mode 100644 hosts/poweredge/nvidia.nix (limited to 'hosts') diff --git a/hosts/poweredge/configuration.nix b/hosts/poweredge/configuration.nix index 40803bf..d503fd1 100644 --- a/hosts/poweredge/configuration.nix +++ b/hosts/poweredge/configuration.nix @@ -8,6 +8,7 @@ ./immich.nix ./jellyfin.nix ./networking.nix + ./nvidia.nix #./notification-mailer.nix # TODO move some of this stuff to archetype ]; @@ -32,16 +33,6 @@ # Import zfs pools boot.zfs.extraPools = [ "ingens" "memoria" ]; - # Enable nvidia - hardware.nvidia = { - modesetting.enable = true; # Required - nvidiaSettings = false; # Don't need gui - open = false; - package = config.boot.kernelPackages.nvidiaPackages.legacy_580; # Support for P600 - powerManagement.enable = false; # Can cause bugs - powerManagement.finegrained = false; # Only works on turing and newer - }; - # Enable user timmy _users.timmy.enable = true; diff --git a/hosts/poweredge/immich.nix b/hosts/poweredge/immich.nix index 24b32c2..444a0f2 100644 --- a/hosts/poweredge/immich.nix +++ b/hosts/poweredge/immich.nix @@ -36,14 +36,12 @@ in { }; config = { lib, pkgs, config, ... }: { + imports = [ ./nvidia.nix ]; + # Network networking.interfaces.eth0.useDHCP = true; networking.firewall.allowedTCPPorts = [ 80 ]; # Caddy - # Configure nixpkgs for nvidia/cuda - nixpkgs.config.allowUnfree = true; - nixpkgs.config.cudaSupport = true; - # Immich services.immich = { enable = true; @@ -64,7 +62,7 @@ in { # Enable the ML microservice with CUDA machine-learning.enable = true; }; - #environment.systemPackages = with pkgs; [ immich immich-cli ]; + environment.systemPackages = with pkgs; [ immich immich-cli ]; # Reverse proxy services.caddy = { @@ -74,23 +72,6 @@ in { ''; }; - # NVIDIA - services.xserver.videoDrivers = [ "nvidia" ]; # xserver.videoDrivers does not imply X - hardware.graphics.enable = true; - hardware.nvidia = { - modesetting.enable = true; # Required - nvidiaSettings = false; # Don't need gui - open = false; - package = config.boot.kernelPackages.nvidiaPackages.legacy_580; # Must match host - }; - - # Packages - environment.systemPackages = with pkgs; [ - immich - immich-cli - config.hardware.nvidia.package # nvidia-smi - ]; - system.stateVersion = "25.11"; }; }; diff --git a/hosts/poweredge/jellyfin.nix b/hosts/poweredge/jellyfin.nix index 2fbdabd..761c3ae 100644 --- a/hosts/poweredge/jellyfin.nix +++ b/hosts/poweredge/jellyfin.nix @@ -32,13 +32,12 @@ }; config = { lib, config, pkgs, ... }: { + imports = [ ./nvidia.nix ]; + # Network networking.interfaces.eth0.useDHCP = true; networking.firewall.allowedTCPPorts = [ 80 ]; # Caddy - # Configure nixpkgs for nvidia/cuda - nixpkgs.config.allowUnfree = true; - # Jellyfin services.jellyfin = { enable = true; @@ -86,21 +85,6 @@ ''; }; - # NVIDIA - services.xserver.videoDrivers = [ "nvidia" ]; # xserver.videoDrivers does not imply X - hardware.graphics.enable = true; - hardware.nvidia = { - modesetting.enable = true; # Required - nvidiaSettings = false; # Don't need gui - open = false; - package = config.boot.kernelPackages.nvidiaPackages.legacy_580; # Must match host - }; - - # Packages - environment.systemPackages = with pkgs; [ - config.hardware.nvidia.package # nvidia-smi - ]; - system.stateVersion = "26.05"; }; }; diff --git a/hosts/poweredge/nvidia.nix b/hosts/poweredge/nvidia.nix new file mode 100644 index 0000000..257a46c --- /dev/null +++ b/hosts/poweredge/nvidia.nix @@ -0,0 +1,22 @@ +{ config, pkgs, ... }: { + # Configure nixpkgs for nvidia/cuda + nixpkgs.config.allowUnfree = true; + nixpkgs.config.cudaSupport = true; + + # NVIDIA + services.xserver.videoDrivers = [ "nvidia" ]; # xserver.videoDrivers does not imply X + hardware.graphics.enable = true; + hardware.nvidia = { + modesetting.enable = true; # Required + nvidiaSettings = false; # Don't need gui + open = false; + package = config.boot.kernelPackages.nvidiaPackages.legacy_580; # Support for P600 + powerManagement.enable = false; # Can cause bugs + powerManagement.finegrained = false; # Only works on turing and newer + }; + + # Packages + environment.systemPackages = with pkgs; [ + config.hardware.nvidia.package # nvidia-smi + ]; +} -- cgit v1.2.3