From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39593) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNfLe-0006Cx-Pl for guix-patches@gnu.org; Wed, 21 Jun 2017 09:07:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dNfLa-0003uG-7g for guix-patches@gnu.org; Wed, 21 Jun 2017 09:07:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:56295) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dNfLa-0003uC-3k for guix-patches@gnu.org; Wed, 21 Jun 2017 09:07:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dNfLZ-0006ew-Tx for guix-patches@gnu.org; Wed, 21 Jun 2017 09:07:01 -0400 Subject: [bug#27155] [PATCH 0/2] Support service extensions on the "final" service values Resent-Message-ID: From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87mv9m7g0t.fsf@elephly.net> <87bmq07m0y.fsf@gnu.org> <87mv99rx8w.fsf@member.fsf.org> Date: Wed, 21 Jun 2017 15:06:34 +0200 In-Reply-To: <87mv99rx8w.fsf@member.fsf.org> ("=?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?="'s message of "Fri, 16 Jun 2017 01:12:15 +0800") Message-ID: <87h8z9ij6t.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Cc: Ricardo Wurmus , 27155@debbugs.gnu.org Hi! iyzsong@member.fsf.org (=E5=AE=8B=E6=96=87=E6=AD=A6) skribis: > Maybe allow a service to override extensions specified by its > type? > > It can be: > > (define etc-service-type > (service-type > (name 'etc) > (default-extensions (list ...)) > (extension-points (list ...)))) > > (define builtin-etc-service > (... %base-services)) > > (define my-etc-service > (service etc-service-type > (service-value builtin-etc-service) > #:extensions > (list (service-extension > activation-service-type > activate-my-etc-files-in-my-way) > ...))) > > So we can change what service actually do, this is really powerful! The problem as I see it is that this would be redundant with extensions in service types. Also, the =E2=80=9Cetc=E2=80=9D service is one of the =E2=80=9Cspecial=E2= =80=9D services that are not in =E2=80=98%base-services=E2=80=99; instead they=E2=80=99re automatically add= ed by =E2=80=98essential-services=E2=80=99 in (gnu system). Thanks for your feedback, Ludo=E2=80=99.