summaryrefslogtreecommitdiff
path: root/nongnu
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2024-01-07 21:13:00 +0800
committerJohn Kehayias <john.kehayias@protonmail.com>2024-04-24 20:06:44 -0400
commite3896f51d2d39d61fdb26585a6d992216a5d0cd5 (patch)
tree942d4a03a63216307a6af68aa719b79805bbe0cd /nongnu
parentdeab71dbe691e29b64d9464515488a2dd57468ac (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')
-rw-r--r--nongnu/services/nvidia.scm34
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.")))