diff options
author | Hilton Chain <hako@ultrarare.space> | 2024-01-07 21:13:00 +0800 |
---|---|---|
committer | John Kehayias <john.kehayias@protonmail.com> | 2024-04-24 20:06:44 -0400 |
commit | e3896f51d2d39d61fdb26585a6d992216a5d0cd5 (patch) | |
tree | 942d4a03a63216307a6af68aa719b79805bbe0cd /nongnu/services/nvidia.scm | |
parent | deab71dbe691e29b64d9464515488a2dd57468ac (diff) |
services: nvidia: Adjust configuration options.
* 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 <john.kehayias@protonmail.com>
Diffstat (limited to 'nongnu/services/nvidia.scm')
-rw-r--r-- | nongnu/services/nvidia.scm | 34 |
1 files changed, 17 insertions, 17 deletions
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 <hako@ultrarare.space> (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> 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."))) |