From dabc0d46fd4a3a641c7a6e51430f95629b630dcf Mon Sep 17 00:00:00 2001 From: Athenix CI Date: Mon, 16 Feb 2026 16:05:04 -0500 Subject: [PATCH] Update documentation from commit 7e432852787e17678e8a33be51f7cb783d582e03 --- Inventory.md | 28 +++++++++++++++++++++++ Namespace.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) diff --git a/Inventory.md b/Inventory.md index 20eaacd..ff3663c 100644 --- a/Inventory.md +++ b/Inventory.md @@ -343,6 +343,34 @@ nix-lxc = { }; ``` +### Proxmox LXC with NVIDIA (Dual P40 Example) + +```nix +nix-lxc = { + devices = { + "gpu-builder" = { + athenix.host.useHostPrefix = false; + athenix.sw.type = "headless"; + + # Optional NVIDIA containerization support + athenix.hw.nix-lxc.cuda = { + enable = true; + # Expose both GPUs (index-based) + visibleDevices = [ "0" "1" ]; + # Select a compatible driver branch for older cards when needed + driver.channel = "legacy_470"; + driverCapabilities = [ "compute" "utility" ]; + }; + }; + }; +}; +``` + +Notes: +- Proxmox host must provide `/dev/nvidia*` devices to the container. +- Use `driver.channel = "dc_550"` (default) for newer datacenter cards when supported. +- Use `driver.package` only when you need an explicit package override. + ### WSL Instances ```nix diff --git a/Namespace.md b/Namespace.md index 6c55c7d..1b91003 100644 --- a/Namespace.md +++ b/Namespace.md @@ -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.