In my laptop, in generation 4 of my guix system all GUI stuff worked well (GDM and GDM login). I tried moving to lightDM and also setting some themes - which works in my desktop setup - and then I started having serious issues with login authentication: GDM nor lightDM accept my user password, and can’t do a root login.
This is the working gen 4 setup:
(use-modules (gnu)
(nongnu packages linux)
(gnu packages linux)
(gnu packages audio)
(gnu packages networking)
(gnu packages package-management))
(use-service-modules cups
desktop
networking
ssh
xorg
sound
nix
docker)
;;non-guix key for substitute urls
(define %nonguix-key
(plain-file
"nonguix-archive-key.pub"
"(public-key
(ecc
(curve Ed25519)
(q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))"))
(operating-system
(kernel linux)
(firmware (list linux-firmware
iwlwifi-firmware))
;; Add this to make sure the module gets loaded at boot time
(initrd-modules (append '("btusb") %base-initrd-modules))
(locale "en_US.utf8")
(timezone "Etc/UTC")
(keyboard-layout (keyboard-layout "us"))
(host-name "my-hostname")
;; The list of user accounts ('root' is implicit).
(users (cons* (user-account
(name "my-user")
(comment "My Name")
(group "users")
(home-directory "/home/my-user")
(supplementary-groups '("wheel" "netdev" "audio" "video")))
%base-user-accounts))
;; Packages installed system-wide.
(packages (append (list (specification->package "emacs")
(specification->package "emacs-exwm")
(specification->package "emacs-desktop-environment")
(specification->package "bluez")
(specification->package "blueman")
(specification->package "pipewire")
(specification->package "wireplumber")
(specification->package "nix")
(specification->package "docker"))
%base-packages))
;; Below is the list of system services.
(services
(append (list (service gnome-desktop-service-type)
(service openssh-service-type)
(service cups-service-type)
(service nix-service-type)
(set-xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout)))
(service bluetooth-service-type
(bluetooth-configuration
(auto-enable? #t)))
(service docker-service-type)
(service containerd-service-type))
;; Add the Nonguix substitutes configuration
(modify-services %desktop-services
(guix-service-type config =>
(guix-configuration
(inherit config)
(authorize-key? #t)
(discover? #t)
(authorized-keys
(append (list %nonguix-key)
%default-authorized-guix-keys))
(substitute-urls
(append
(list "[https://nonguix-proxy.ditigal.xyz/](https://nonguix-proxy.ditigal.xyz/)"
"[https://ci.guix.gnu.org](https://ci.guix.gnu.org)"
"[https://bordeaux.guix.gnu.org](https://bordeaux.guix.gnu.org)")
%default-substitute-urls)))))))
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(swap-devices (list (swap-space
(target (uuid
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")))))
;; The list of file systems that get "mounted".
(file-systems (cons* (file-system
(mount-point "/")
(device (uuid
"yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
'ext4))
(type "ext4"))
(file-system
(mount-point "/boot/efi")
(device (uuid "YYYY-YYYY"
'fat32))
(type "vfat")) %base-file-systems)))
This is one of the fancy setups:
(use-modules (gnu)
(nongnu packages linux)
(gnu packages linux)
(gnu packages audio)
(gnu packages networking)
(gnu packages package-management))
(use-service-modules cups
desktop
networking
ssh
xorg
sound
nix
docker)
;;non-guix key for substitute urls
(define %nonguix-key
(plain-file
"nonguix-archive-key.pub"
"(public-key
(ecc
(curve Ed25519)
(q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))"))
(operating-system
(kernel linux)
(firmware (list linux-firmware
iwlwifi-firmware))
;; Add this to make sure the module gets loaded at boot time
(initrd-modules (append '("btusb") %base-initrd-modules))
(locale "en_US.utf8")
(timezone "Etc/UTC")
(keyboard-layout (keyboard-layout "us"))
(host-name "my-hostname")
;; The list of user accounts ('root' is implicit).
(users (cons* (user-account
(name "my-user")
(comment "My Name")
(group "users")
(home-directory "/home/my-user")
(supplementary-groups '("wheel" "netdev" "audio" "video")))
%base-user-accounts))
;; Packages installed system-wide.
(packages (append (list (specification->package "emacs")
(specification->package "emacs-exwm")
(specification->package "emacs-desktop-environment")
(specification->package "bluez")
(specification->package "blueman")
(specification->package "pipewire")
(specification->package "wireplumber")
(specification->package "nix")
(specification->package "docker"))
%base-packages))
;; Below is the list of system services.
(services
(append (list (service gnome-desktop-service-type)
(service openssh-service-type)
(service cups-service-type)
(service nix-service-type)
(set-xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout)))
(service bluetooth-service-type
(bluetooth-configuration
(auto-enable? #t)))
(service docker-service-type)
(service containerd-service-type))
(modify-services %desktop-services
(guix-service-type config =>
(guix-configuration
(inherit config)
(authorize-key? #t)
(discover? #t)
(authorized-keys
(append (list %nonguix-key)
%default-authorized-guix-keys))
(substitute-urls
(append
(list "[https://nonguix-proxy.ditigal.xyz/](https://nonguix-proxy.ditigal.xyz/)"
"[https://ci.guix.gnu.org](https://ci.guix.gnu.org)"
"[https://bordeaux.guix.gnu.org](https://bordeaux.guix.gnu.org)")
%default-substitute-urls)))))))
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(swap-devices (list (swap-space
(target (uuid
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")))))
;; The list of file systems that get "mounted".
(file-systems (cons* (file-system
(mount-point "/")
(device (uuid
"yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
'ext4))
(type "ext4"))
(file-system
(mount-point "/boot/efi")
(device (uuid "YYYY-YYYY"
'fat32))
(type "vfat")) %base-file-systems)))
And this is a minimal one:
;; Minimal working configuration based on generation 4
(use-modules (gnu) (nongnu packages linux))
(use-service-modules cups desktop networking ssh xorg nix docker pm linux)
(operating-system
(kernel linux)
(firmware (list linux-firmware))
(locale "en_US.utf8")
(timezone "Etc/UTC")
(keyboard-layout (keyboard-layout "us"))
(host-name "my-hostname")
;; User account without password
(users (cons* (user-account
(name "my-user")
(comment "my-user")
(group "users")
(home-directory "/home/my-user")
(supplementary-groups '("wheel" "netdev" "audio" "video")))
%base-user-accounts))
;; Basic packages
(packages (append (list (specification->package "emacs")
(specification->package "emacs-exwm")
(specification->package "emacs-desktop-environment"))
%base-packages))
;; Services
(services
(append (list (service gnome-desktop-service-type)
(service openssh-service-type)
(service cups-service-type)
(set-xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout))))
%desktop-services))
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(swap-devices (list (swap-space
(target (uuid "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")))))
(file-systems (cons* (file-system
(mount-point "/")
(device (uuid
"yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
'ext4))
(type "ext4"))
(file-system
(mount-point "/boot/efi")
(device (uuid "YYYY-YYYY"
'fat32))
(type "vfat")) %base-file-systems)))
Only gen4 works for authentication, fancy and minimal fail at authentication.
Any ideas?
Thanks in advance,