Hi, Maxim Cournoyer writes: >> +(define-gexp-compiler (greetd-gtkgreet-sway-session-compiler >> + (session >> ) >> + system target) >> + (match-record session >> + (sway) >> + (lower-object >> + (make-greetd-sway-greeter-command >> + sway >> + (make-greetd-gtkgreet-sway-session-sway-config >> session))))) >> + > > I wonder if we could use define-configuration and avoid the > lower-level > define-gexp-compiler glue code. gnu/services/base.scm do not import `(gnu services configuration)`. IMHO, `define-configuration` is good for serializing record-like configuration to custom formats. Here we actually need and configure executable programs. I was not the one who introduced them, but currently I find them more useful here.