From e3896f51d2d39d61fdb26585a6d992216a5d0cd5 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Sun, 7 Jan 2024 21:13:00 +0800 Subject: services: nvidia: Adjust configuration options. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * nongnu/services/nvidia.scm (nvidia-configuration): [nvidia-driver]: Rename to ‘driver’. Default to nvda. Accept a file-like object. [nvidia-firmware]: Rename to ‘firmware’. Accept a file-like object. [nvidia-module]: Rename to ‘module’. Accept a file-like object. [modules]: Remove option. (nvidia-shepherd-service): Correct kernel module name. [stop]: Don't return #f. (nvidia-service-type): Extend profile-service-type with ‘driver’. Adjust accordingly. Signed-off-by: John Kehayias --- nongnu/services/nvidia.scm | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'nongnu') diff --git a/nongnu/services/nvidia.scm b/nongnu/services/nvidia.scm index 985e12b..4a604cb 100644 --- a/nongnu/services/nvidia.scm +++ b/nongnu/services/nvidia.scm @@ -2,14 +2,14 @@ ;;; Copyright © 2022 Hilton Chain (define-module (nongnu services nvidia) + #:use-module (guix gexp) + #:use-module (guix records) #:use-module (gnu packages) #:use-module (gnu packages linux) #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu services linux) #:use-module (gnu services shepherd) - #:use-module (guix gexp) - #:use-module (guix records) #:use-module (nongnu packages nvidia) #:export (nvidia-configuration nvidia-configuration? @@ -19,24 +19,22 @@ (define-record-type* nvidia-configuration make-nvidia-configuration nvidia-configuration? - (nvidia-driver nvidia-configuration-nvidia-driver - (default (list nvidia-driver))) ; list of file-like - (nvidia-firmware nvidia-configuration-nvidia-firmware - (default (list nvidia-firmware))) ; list of file-like - (nvidia-module nvidia-configuration-nvidia-module - (default (list nvidia-module))) ; list of file-like - (modules nvidia-configuration-modules - (default (list "nvidia-uvm")))) ; list of string + (driver nvidia-configuration-driver + (default nvda)) ; file-like + (firmware nvidia-configuration-firmware + (default nvidia-firmware)) ; file-like + (module nvidia-configuration-module + (default nvidia-module))) ; file-like (define (nvidia-shepherd-service config) (list (shepherd-service - (documentation "Unload nvidia-uvm module on powering off.") + (documentation "Prepare system environment for NVIDIA driver.") (provision '(nvidia)) (requirement '(user-processes)) (start #~(const #t)) (stop #~(lambda _ (let ((rmmod #$(file-append kmod "/bin/rmmod"))) - (zero? (system* rmmod "nvidia-uvm")))))))) + (system* rmmod "nvidia_uvm"))))))) (define nvidia-service-type (service-type @@ -44,13 +42,15 @@ (extensions (list (service-extension shepherd-root-service-type nvidia-shepherd-service) + (service-extension profile-service-type + (compose list nvidia-configuration-driver)) (service-extension udev-service-type - nvidia-configuration-nvidia-driver) + (compose list nvidia-configuration-driver)) (service-extension firmware-service-type - nvidia-configuration-nvidia-firmware) + (compose list nvidia-configuration-firmware)) (service-extension linux-loadable-module-service-type - nvidia-configuration-nvidia-module) + (compose list nvidia-configuration-module)) (service-extension kernel-module-loader-service-type - nvidia-configuration-modules))) + (const '("nvidia_uvm"))))) (default-value (nvidia-configuration)) - (description "Load NVIDIA modules."))) + (description "Prepare system environment for NVIDIA driver."))) -- cgit v1.2.3