hi all. i need help reviewing my config.scm file. im really struggling to find information about (replace-mesa). nonguix docs doesnt explain it well as i get an error:
In procedure replace-mesa:
Invalid keyword: #<package nvda@580.15 nongnu/packages/nvidia.scm:729 7f13df925580>
without replace-mesa, this is the error i get otherwise:
guix system: error: no target of type 'special-files' for service 'nvidia'
what am i doing wrong?! please help.
config.scm
(use-modules (gnu)
(gnu tests linux-modules)
(gnu home)
(gnu home services)
(gnu home services shells)
(gnu home services utils)
(gnu services)
(gnu services sound)
(gnu services linux)
(gnu services desktop)
(gnu services vpn)
(gnu services sddm)
(gnu services configuration)
(gnu packages admin)
(gnu packages freedesktop)
(gnu packages compton)
(gnu packages linux)
(gnu packages gnome)
(gnu packages connman)
(gnu packages tex)
(guix gexp)
(guix transformations)
(nongnu packages linux)
(nongnu packages nvidia)
(nongnu packages firmware)
(nongnu packages nvidia)
(nongnu services nvidia)
(nongnu system linux-initrd)
;; nonguix transformations
(nonguix transformations))
(replace-mesa #:driver nvda-580)
;; removed nvidia here V
(use-package-modules xdisorg xorg xfce fonts package-management ncurses wm text-editors python-xyz terminals version-control display-managers linux librewolf)
;; desktop used to go here V
;; nvidia goes here? V
(use-service-modules desktop networking xorg sddm ssh xorg linux)
(define xf
(compose
(nonguix-transformation-guix)))
(define %pc
(operating-system
(kernel linux)
(kernel-arguments (append
'(“modprobe.blacklist=nouveau”
“nvidia_drm.modeset=1”)
%default-kernel-arguments))
(kernel-loadable-modules (list nvidia-driver nvidia-modules))
(firmware (cons* linux-firmware iwlwifi-firmware %base-firmware))
(initrd microcode-initrd)
;; users and locale information here
(packages (append (list
obconf
ncurses
thunar
librewolf
flatpak
git
nvidia-system-monitor
htop
network-manager
font-jetbrains-mono
font-abattis-cantarell
font-adobe-source-code-pro
font-adobe-source-han-code-jp
font-adobe-source-serif
font-adobe100dpi
font-adwaita
font-liberation
texlive-dejavu-otf
sddm
xinit xwallpaper
xset
xscreensaver
tint2
picom
pipewire
wireplumber
rxvt-unicode
(specification->package “openbox” “nvidia-driver” “nvidia-module” “bluez”)) %base-packages))
;; Below is the list of system services. To search for available
;; services, run ‘guix system search KEYWORD’ in a terminal.
(services
(append
(list
(simple-service 'network-manager-applet
profile-service-type
(list (replace-mesa network-manager-applet)))
(service nvidia-service-type)
(service network-manager-service-type
(network-manager-configuration
(network-manager (replace-mesa network-manager))))
(service connman-service-type
(connman-configuration
(disable-vpn? #f)))
(service alsa-service-type)
;; To configure OpenSSH, pass an ‘openssh-configuration’
;; record as a second argument to ‘service’ below.
(service sddm-service-type
(sddm-configuration
(xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout)
(modules (cons* nvidia-driver %default-xorg-modules))
(drivers '(“nvidia”))))))
(service openssh-service-type))))
;; bootloader and filesystems here
(xf %pc)
((nonguix-transformation-nvidia
#:driver nvda-580
#:configure-xorg? sddm-service-type
#:kernel-mode-setting? #true)
%pc)