diff options
| author | Tim Keller <tjk@tjkeller.xyz> | 2026-06-17 18:44:14 -0500 |
|---|---|---|
| committer | Tim Keller <tjk@tjkeller.xyz> | 2026-06-17 18:44:14 -0500 |
| commit | 55767854e13dfe5e26311f222e3d713cf11ac3b3 (patch) | |
| tree | 9c413f9183032bd68bee8ba0d1153a7eea83356c | |
| parent | 03ca9e47cd89564a51d01ffe621489efa3a8f7e7 (diff) | |
| download | nixos-55767854e13dfe5e26311f222e3d713cf11ac3b3.tar.xz nixos-55767854e13dfe5e26311f222e3d713cf11ac3b3.zip | |
| -rw-r--r-- | hosts/poweredge/configuration.nix | 11 | ||||
| -rw-r--r-- | hosts/poweredge/immich.nix | 25 | ||||
| -rw-r--r-- | hosts/poweredge/jellyfin.nix | 20 | ||||
| -rw-r--r-- | hosts/poweredge/nvidia.nix | 22 |
4 files changed, 28 insertions, 50 deletions
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 + ]; +} |
