transformations: Deduplicate transformed field values.

* nonguix/transformations.scm (nonguix-transformation-guix)[substitute-urls]:
Delete duplicates.
(nonguix-transformation-nvidia)[kernel-arguments]: Likewise.
This commit is contained in:
Hilton Chain 2025-06-16 00:18:54 +08:00
parent 5c13dbf132
commit 70a0de71d0
No known key found for this signature in database
GPG key ID: ACC66D09CA528292

View file

@ -2,6 +2,8 @@
;;; Copyright © 2025 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2025 Hilton Chain <hako@ultrarare.space>
(define-module (nonguix transformations) (define-module (nonguix transformations)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (guix channels) #:use-module (guix channels)
#:use-module (guix diagnostics) #:use-module (guix diagnostics)
#:use-module (guix gexp) #:use-module (guix gexp)
@ -74,10 +76,11 @@ FIXME: GUIX-SOURCE? is disabled by default due to performance issue."
(cons %nonguix-signing-key (cons %nonguix-signing-key
(guix-configuration-authorized-keys config))) (guix-configuration-authorized-keys config)))
(substitute-urls (substitute-urls
`(,@(guix-configuration-substitute-urls config) (delete-duplicates
,@(if substitutes? `(,@(guix-configuration-substitute-urls config)
'("https://substitutes.nonguix.org") ,@(if substitutes?
'())))))))))) '("https://substitutes.nonguix.org")
'())))))))))))
(define* (nonguix-transformation-linux #:key (linux linux) (define* (nonguix-transformation-linux #:key (linux linux)
(firmware (list linux-firmware)) (firmware (list linux-firmware))
@ -128,10 +131,13 @@ TODO: Xorg configuration."
(operating-system (operating-system
(inherit os) (inherit os)
(kernel-arguments (kernel-arguments
(cons* "modprobe.blacklist=nouveau" (delete-duplicates
(string-append (cons* "modprobe.blacklist=nouveau"
"nvidia_drm.modeset=" (if kernel-mode-setting? "1" "0")) (string-append
(operating-system-user-kernel-arguments os))) "nvidia_drm.modeset=" (if kernel-mode-setting? "1" "0"))
(remove
(cut string-prefix? "nvidia_drm.modeset=" <>)
(operating-system-user-kernel-arguments os)))))
(services (services
`(,(or (assoc-ref %presets driver) `(,(or (assoc-ref %presets driver)
(leave (leave