From 7b33ad4f6854277480816dbf0f0734b74c83a127 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Thu, 19 Mar 2026 23:52:58 +0800 Subject: transformations: nvidia: Allow specifying display manager in ‘#:configure-xorg?’. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * nonguix/transformations.scm (nonguix-transformation-nvidia): Allow passing display manager service type to ‘#:configure-xorg?’. * README.org (System setup): Update docstring. --- nonguix/transformations.scm | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'nonguix/transformations.scm') diff --git a/nonguix/transformations.scm b/nonguix/transformations.scm index 043b6d7..e31bbce 100644 --- a/nonguix/transformations.scm +++ b/nonguix/transformations.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2025 Hilton Chain (define-module (nonguix transformations) + #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (guix channels) @@ -116,8 +117,10 @@ with supported graphics cards. KERNEL-MODE-SETTING? (default: #t) is required for Wayland and rootless Xorg support. -CONFIGURE-XORG? (default: #f) is required for Xorg display managers. Currently -this argument configures the one used by '%desktop-services', GDM or SDDM. +CONFIGURE-XORG? (default: #f) is required for Xorg display managers. When +setting to #t, it configures the one specified by '%desktop-services'. If you +set up the display manager on your own, use its service type instead, +'sddm-service-type', for example. Use 'replace-mesa', for application setup out of the operating system declaration." @@ -150,6 +153,19 @@ declaration." nvidia-module-590)) (modprobe nvidia-modprobe-590)))))) + (define %xorg-extension + (and=> configure-xorg? + (match-lambda + (#t + (set-xorg-configuration + (xorg-configuration + (modules (list driver))))) + (display-manager + (set-xorg-configuration + (xorg-configuration + (modules (list driver))) + display-manager))))) + (lambda (os) (operating-system (inherit os) @@ -176,9 +192,7 @@ declaration." (G_ "no NVIDIA service configuration available for '~a'~%") (package-name driver))) ,@(if configure-xorg? - (list (set-xorg-configuration - (xorg-configuration - (modules (list driver))))) + (list %xorg-extension) '()) ,@(operating-system-user-services os)) #:driver driver))))) -- cgit v1.3