Looking at the manual, I tgink this is the issue. sddm-configuration is a record type that has a field called xorg-configuration. This field expects a record of type xorg-configuration, but you pass it a keyboard configuration instead. I think this is what you need to do:
(sddm-configuration … (xorg-configuration (xorg-configuration (keyboard-layout %this-keyboard)))) HTH! On February 20, 2022 1:33:49 AM GMT+01:00, "Cássio Tavares" <cassio....@gmail.com> wrote: >Hello there! > >Well, I need help... > >## Context: > > * I have just a little familiarity with Guile Scheme, because I'm a > LilyPond user; > * I finally have a desktop that doesn't need non-libre drivers; > * Although I'm not in the Tech world, I love GNU's (and the FSF's) > philosophy; > * I have been playing with Nix, but find it very cryptic -- not easy > to understand at all. > > So, Guix seems to be the path I'm on now. > >## Situation: > > I have several problems to fix, but the most important right now is > to get my keyboard to work with sddm, and I need sddm for > Wayland. So, without sddm, this works: > >``` > ... > > (define %this-keyboard (keyboard-layout "br" "abnt2")) > > ... > > (operating-system > ... > > (keyboard-layout %this-keyboard) > > ... ) > >``` > > But `guix system reconfigure /etc/config.scm` fails when this is this: > >``` > (use-modules > (gnu) > (gnu system nss) > (gnu services networking) > (gnu services sddm) > (gnu services cups) > (gnu services desktop) > (gnu services ssh) > (gnu services xorg)) > > ... > > (define %this-keyboard (keyboard-layout "br" "abnt2")) > > ... > > (operating-system > ... > > (keyboard-layout %this-keyboard) > > ... > > (services > (append > (list > (service dhcp-client-service-type) > (service ntp-service-type) > (service gpm-service-type) > (service cups-service-type) > (service elogind-service-type) > (service sddm-service-type > (sddm-configuration > (display-server "wayland") > (numlock "on") > (theme "guix-simplyblack-sddm-theme") > (xorg-configuration > (keyboard-layout %this-keyboard))))) > %base-services)) > > ... ) > >``` > > Then, when I try to run `guix system reconfigure /etc/config.scm`, I > get this backtrace: > >> root@udu ~# > > Backtrace: > > 19 (primitive-load "/root/.config/guix/current/bin/guix") > > In guix/ui.scm: > > 2229:7 18 (run-guix . _) > > 2192:10 17 (run-guix-command _ . _) > > In ice-9/boot-9.scm: > > 1752:10 16 (with-exception-handler _ _ #:unwind? _ # _) > > In guix/status.scm: > > 829:3 15 (_) > > 809:4 14 (call-with-status-report _ _) > > In guix/scripts/system.scm: > > 1256:4 13 (_) > > In ice-9/boot-9.scm: > > 1752:10 12 (with-exception-handler _ _ #:unwind? _ # _) > > In guix/store.scm: > > 658:37 11 (thunk) > > 1320:8 10 (call-with-build-handler #<procedure 7faf357d0060 at g…> …) > > 2129:25 9 (run-with-store #<store-connection 256.99 7faf38008190> …) > > In guix/scripts/system.scm: > > 827:2 8 (_ _) > > 703:8 7 (_ #<store-connection 256.99 7faf38008190>) > > In gnu/system.scm: > > 1227:19 6 (operating-system-derivation _) > > 748:11 5 (operating-system-services #<<operating-system> kernel:…>) > > 782:20 4 (services _) > > In /etc/config.scm: > > 185:14 3 (services #<<operating-system> kernel: #<package linux-…>) > > 185:14 2 (services #<<keyboard-layout> name: "br" variant: "abnt…>) > > In ice-9/boot-9.scm: > > 1685:16 1 (raise-exception _ #:continuable? _) > > 1685:16 0 (raise-exception _ #:continuable? _) > > > > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > > Wrong type to apply: #<<keyboard-layout> name: "br" variant: >"abnt2" model: #f options: ()> > >## Conclusion: > > Two things tell me that the problem is really in the keyboard > configuration within the configuration of the sddm service: > > * When I remove the `xorg-configuration` from the `sddm-configuration`, > the reconfiguration returns no error, and the sddm service works > normally. > * And in this setup, the keyboard works on the console, just not on the > desktop environment. > >Best regards, >And thank you. > >Cassio >