feat: Add nvidia compatibility option for LXC devices
All checks were successful
CI / Format Check (push) Successful in 2s
CI / Flake Check (push) Successful in 1m46s
CI / Evaluate Key Configurations (nix-builder) (push) Successful in 14s
CI / Evaluate Key Configurations (nix-desktop1) (push) Successful in 8s
CI / Evaluate Key Configurations (nix-laptop1) (push) Successful in 9s
CI / Evaluate Artifacts (installer-iso-nix-laptop1) (push) Successful in 21s
CI / Evaluate Artifacts (lxc-nix-builder) (push) Successful in 14s
CI / Build and Publish Documentation (push) Successful in 12s

This commit is contained in:
UGA Innovation Factory
2026-02-16 15:51:19 -05:00
parent 950be4b8ce
commit 7e43285278
5 changed files with 219 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ All UGA Innovation Factory-specific options are in the `athenix` namespace to av
## Table of Contents
- [Host Configuration (`athenix.host`)](#host-configuration-athenixhost)
- [Hardware Type Configuration (`athenix.hw`)](#hardware-type-configuration-athenixhw)
- [Software Configuration (`athenix.sw`)](#software-configuration-athenixsw)
- [User Management (`athenix.users`)](#user-management-athenixusers)
- [Convenience Options](#convenience-options)
@@ -90,6 +91,69 @@ Default WSL user account (only for `nix-wsl` type).
athenix.host.wsl.user = "myusername";
```
## Hardware Type Configuration (`athenix.hw`)
Hardware-type specific options. These are usually set in per-device config or fleet overrides.
### `athenix.hw.nix-lxc.cuda.enable`
Enable NVIDIA CUDA container support for Proxmox LXC hosts.
**Type:** Boolean
**Default:** `false`
### `athenix.hw.nix-lxc.cuda.visibleDevices`
Select which NVIDIA GPUs are exposed to containerized workloads.
**Type:** List of strings
**Default:** `[ "all" ]`
**Examples:**
- `[ "all" ]`
- `[ "0" "1" ]` (for dual-GPU systems)
- `[ "GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ]`
### `athenix.hw.nix-lxc.cuda.driverCapabilities`
Sets `NVIDIA_DRIVER_CAPABILITIES` for container runtimes.
**Type:** List of strings
**Default:** `[ "compute" "utility" ]`
**Example:**
```nix
athenix.hw.nix-lxc.cuda.driverCapabilities = [ "compute" "utility" "video" ];
```
### `athenix.hw.nix-lxc.cuda.driver.channel`
Driver package channel selected from `boot.kernelPackages.nvidiaPackages`.
**Type:** String
**Default:** `"dc_550"`
**Common values:** `"stable"`, `"latest"`, `"beta"`, `"dc_550"`, `"legacy_470"`, `"legacy_390"`
**Aliases:**
- `"production"``"stable"`
- `"datacenter"``"dc_550"`
### `athenix.hw.nix-lxc.cuda.driver.package`
Explicit package override for NVIDIA driver selection.
**Type:** Package or null
**Default:** `null`
**Description:**
When set, this takes precedence over `athenix.hw.nix-lxc.cuda.driver.channel`.
## Software Configuration (`athenix.sw`)
System type, packages, and application configuration.