From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Subject: [PATCH 4/6] services: 'fold-service-types' includes (gnu services). Date: Wed, 8 Nov 2017 14:09:19 +0100 Message-ID: <20171108130921.25202-5-ludo@gnu.org> References: <87zi7xwvso.fsf_-_@gnu.org> <20171108130921.25202-1-ludo@gnu.org> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55107) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCQ70-0006ZY-BS for guix-devel@gnu.org; Wed, 08 Nov 2017 08:09:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eCQ6w-0004RT-I9 for guix-devel@gnu.org; Wed, 08 Nov 2017 08:09:46 -0500 In-Reply-To: <20171108130921.25202-1-ludo@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * gnu/services.scm (all-service-modules): New procedure. (fold-service-types): Use it for the default MODULES value. --- gnu/services.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/services.scm b/gnu/services.scm index 89c5d52c8..df1bedeb9 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -175,9 +175,14 @@ (make-parameter `((,%distro-root-directory . "gnu/services") (,%distro-root-directory . "gnu/system")))) +(define (all-service-modules) + "Return the default set of service modules." + (cons (resolve-interface '(gnu services)) + (all-modules (%service-type-path)))) + (define* (fold-service-types proc seed #:optional - (modules (all-modules (%service-type-path)))) + (modules (all-service-modules))) "For each service type exported by one of MODULES, call (PROC RESULT). SEED is used as the initial value of RESULT." (fold-module-public-variables (lambda (object result) -- 2.15.0