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