How to find which commits to use for guix and nonguix channels? guix system reconfigure fails

Hello,

I’ve installed guix on a virtual machine.

I’m trying to add the nvidia config from the nonguix readme.

I’ve run guix pull and setup the nonguix channel in channels.scm.
When I run sudo guix reconfigure config.scm I get the error:

guix system: error: profile contains conflicting entries for upower
guix system: error:    first entry: upower:1.90.2 /gnu/store/...-upower-1.90.2
guix system: error:    second entry: upower:1.90.2 /gnu/store/...-upower-1.90.2
guix system: error:     ... propagated from gnome@46.7
hint: Try upgrading both 'upower' and 'gnome', or remove one of them from the profile.

I’ve tried guix upgrade upower gnome, but that just gives

guix upgrade: warning: nothing to do

I’ve tried guix install gnome upower, which installs them in my profile, but re-running guix system reconfigure config.scm gives the same error.


I tried reverting the changes for adding the nvidia nonguix config, and the command sudo guix reconfigure config.scm completes sucessfully. So I assume something’s wrong with the gnome imports that are introduced as part of the nvidia config.


I think the issue might be that the nonguix channel packages are interfering or are not in sync with the guix channel.

I tried pinning guix and nonguix channels to v1.4.0 commits, and now I get the same error but for slightly different packages.

guix system: error: profile contains conflicting entries for gtk+
guix system: error:   first entry: gtk+@3.24.30 /gnu/store/3hfbyphf96riviip19cqap6hnmai6q8m-gtk+-3.24.30
guix system: error:    ... propagated from network-manager-applet@1.28.0
guix system: error:   second entry: gtk+@3.24.30 /gnu/store/gsyxsri4k6nncw0wb75gxff0zg2nc9xv-gtk+-3.24.30
guix system: error:    ... propagated from gnome-online-accounts@3.45.2
guix system: error:    ... propagated from gnome@42.4
hint: Try upgrading both `network-manager-applet' and `gnome', or remove one of them from the profile.

Is there a way I can work out which commits to use for both channels that will work?


I also tried the commits used in daviwil’s dofiles channels.scm, with no luck and the same error, with different packages.

channels.scm
(list (channel
        (name 'nonguix)
        (url "https://gitlab.com/nonguix/nonguix")
        (branch "master")
        (commit
          ; master - 9/3/25
          ; "944619c1947ba59823f4ad6d8b13842b7e162d76")
          
          ; v1.4.0
          "e662a42388490a2736276c2051aaf5cd3693a1cc")
        (introduction
          (make-channel-introduction
            "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
            (openpgp-fingerprint
              "2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5"))))
      (channel
        (name 'guix)
        (url "https://git.savannah.gnu.org/git/guix.git")
        (branch "master")
        (commit
        ;  master - 9/3/25
        ;  "c4f297a664869a18126b66eb5209de1fcceb42d8")

        ; v1.4.0
          "bba1e723b0ae81b377e0927a2f19bcc8b7b79479")
        (introduction
          (make-channel-introduction
            "9edb3f66fd807b096b48283debdcddccfea34bad"
            (openpgp-fingerprint
              "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA")))))
config.scm
;; This is an operating system configuration generated
;; by the graphical installer.
;;
;; Once installation is complete, you can learn and modify
;; this file to tweak the system configuration, and pass it
;; to the 'guix system reconfigure' command to effect your
;; changes.


;; Indicate which modules to import to access the variables
;; used in this configuration.
(use-modules (gnu)
          
          ;; Import nonfree linux module.
             (nongnu packages linux)
             (nongnu system linux-initrd)
          
          ;; Imports for nvidia
             (gnu packages gnome)
             (gnu services xorg)
             (nongnu packages nvidia)
             (nongnu services nvidia))


(use-service-modules cups desktop networking ssh xorg)

(operating-system
  (kernel linux)
  (kernel-arguments '("modprobe.blacklist=nouveau"
                      ;; Set this if the card is not used for displaying or
                      ;; you're using Wayland:
                      ;"nvidia_drm.modeset=1"))
                      ))
  (initrd microcode-initrd)
  (firmware (list linux-firmware))

  (locale "en_GB.utf8")
  (timezone "Europe/London")
  (keyboard-layout (keyboard-layout "gb"))
  (host-name "guix-vm")

  ;; The list of user accounts ('root' is implicit).
  (users (cons* (user-account
                  (name "test")
                  (comment "Test")
                  (group "users")
                  (home-directory "/home/test")
                  (supplementary-groups '("wheel" "netdev" "audio" "video")))
                %base-user-accounts))

  ;; Packages installed system-wide.  Users can also install packages
  ;; under their own account: use 'guix search KEYWORD' to search
  ;; for packages and 'guix install PACKAGE' to install a package.
  (packages (append (list (specification->package "vim"))
                    %base-packages))

  ;; Below is the list of system services.  To search for available
  ;; services, run 'guix system search KEYWORD' in a terminal.
  (services
   (modify-services
    (cons* (service gnome-desktop-service-type)

          ;; To configure OpenSSH, pass an 'openssh-configuration'
          ;; record as a second argument to 'service' below.
          (service openssh-service-type)
          (service cups-service-type)
          (set-xorg-configuration
           (xorg-configuration
            (modules (cons nvda %default-xorg-modules))
             (drivers '("nvidia"))
             (keyboard-layout keyboard-layout)))
                 
           (service nvidia-service-type)
           ;; Configure desktop environment, GNOME for example.
           
           (service gnome-desktop-service-type
           ;; Enable NVIDIA support, only do this when the card is
           ;; used for displaying.
            (gnome-desktop-configuration
             (gnome (replace-mesa gnome))))
              

           ;; This is the default list of services we
           ;; are appending to.
           %desktop-services)
   
          (guix-service-type config => (guix-configuration
               (inherit config)
               (substitute-urls
                (append (list "https://substitutes.nonguix.org")
                  %default-substitute-urls))
               (authorized-keys
                (append (list (local-file "./signing-key.pub"))
                  %default-authorized-guix-keys))))))

  (bootloader (bootloader-configuration
                (bootloader grub-bootloader)
                (targets (list "/dev/sda"))
                (keyboard-layout keyboard-layout)))
  (swap-devices (list (swap-space
                        (target (uuid
                                 "a143e351-164a-4b3f-adca-933120045c39")))))

  ;; The list of file systems that get "mounted".  The unique
  ;; file system identifiers there ("UUIDs") can be obtained
  ;; by running 'blkid' in a terminal.
  (file-systems (cons* (file-system
                         (mount-point "/")
                         (device (uuid
                                  "d3a406ad-5add-4110-b970-50fb7936e1a5"
                                  'ext4))
                         (type "ext4")) %base-file-systems)))