guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Divvying up service definitions


From: Ludovic Courtès
Subject: Re: Divvying up service definitions
Date: Thu, 16 Nov 2023 15:49:38 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

Hello!

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

>> * Splitting this as gnu/services/dovecot.scm.
>>   We keep it compatible with 'use-service-modules' at the cost of having
>>   a multitude of files under gnu/services, without any logical grouping
>>   (messy).
>
> That's a great initiative!  I agree that multiple 'define-configuration'
> services per file can be a bit messy, having to use prefixes everywhere,
> making the definitions more verbose.
>
> I don't have a strong preference of the caterogization of services, but
> would perhaps prefer the first one (gnu/services/mail/dovecot.scm),
> which could then make it easy to offer some interface as
> gnu/services/mail.scm that'd re-export all that is needed (would that
> work, or reintroduce the same top-level clashes?).

I’m all for “cleanups” as proposed, and I don’t have strong preferences
on how to do that.

I’d like us to make sure, though, that this is made in a
backward-compatible way: these module names and exported bindings are
part of the API that users refer to from the OS config file.  Renaming
things typically breaks user config, and updating it to use the new
names can be tedious if there are no messages explaining what to do.
‘define-deprecated’ helps, but perhaps we need something a little bit
more fancy now.

(It would be great if we could reach a level of backward-compatibility
close to what Emacs does: nice deprecation messages, recording when a
particular binding was introduced, and generally changing user-visible
things rather slowly.)

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]