Subject: [bug#77266] [PATCH v2] gnu: Merge xorg configurations when extending.

From: Ian Eure <[email-masked]>
Date: Sat, 19 Apr 2025 12:07:42 -0700

Hi Rutherther,

Rutherther <[email-masked]> writes:

> Hi,
>
> Ian Eure <[email-masked]> writes:
>
>> Any other feedback on this?  Does the manual wording look good?
>
> I am wondering about the "and must provide a complete 
> configuration."
> part in documentation. Is that really so after this patch? You 
> can still
> extend with other services, no? So it doesn't seem right to me 
> it would
> be necessary to use only set-xorg-configuration, it can be 
> combined with
> custom service that will append parts of the config.
> At least if I am not missing anything here.
>
> Additionally, I am wondering why do we have that limitation of 
> just one
> usage of set-xorg-configuration. I suppose the name 
> 'set-xorg-configuration'
> implies you set it, not append it, etc., but that's not really 
> true
> after changes from this patch. The limitation comes from the 
> name of the service
> that is created.

You can mix `set-xorg-configuration' and service extensions, but 
cannot call `set-xorg-configuration' more than once.  As your 
note, it has a fixed service name, and having more than one 
service with the same name causes an error.

> So why not allow a new key/optional argument to set name of
> the service, so that it can be used multiple times, and default 
> it to
> 'set-xorg-configuration? On the other hand this is probably not 
> so
> important, I personally don't really see any gain in this
> set-xorg-configuration when user's can just extend the 
> appropriate
> service instead, so it doesn't seem to me that big of a deal to 
> change it.

I agree with the latter half of your message: allowing a service 
name argument makes `set-xorg-configuration' basically the same as 
writing a `simple-service' definition.  I don’t think it’s worth 
doing.

I’ll clarify the docs and send a v3.

A thing I dislike about all this stuff is how the display managers 
carry the xorg configuration, vs. having an xorg service which the 
DMs depend on.  I suppose it’s the way it is because the DMs spawn 
the X server process, but it feels like it should be possible to 
disentangle things at least a bit more than they are now.  The 
current setup also seems to preclude usecases like running gdm 
locally, while using sddm as an XDMCP greeter for other systems.

Thanks,

  -- Ian