From 661c237b4d8e670e73ea946179a94a3b956bb90e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 20 Jun 2018 09:44:27 +0200 Subject: services: boot: Reverse the order of boot expressions. * gnu/services.scm (compute-boot-script): Reverse MEXPS. * gnu/system.scm (essential-services): Reverse order of %SHEPHERD-ROOT-SERVICE, %ACTIVATION-SERVICE, and CLEANUP-SERVICE-TYPE. --- gnu/services.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gnu/services.scm') diff --git a/gnu/services.scm b/gnu/services.scm index 81af4df849..3162c6ba05 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -334,7 +334,11 @@ (define system-service-type (extend system-derivation))) (define (compute-boot-script _ mexps) - (mlet %store-monad ((gexps (sequence %store-monad mexps))) + ;; Reverse MEXPS so that extensions appear in the boot script in the right + ;; order. That is, user extensions would come first, and extensions added + ;; by 'essential-services' (e.g., running shepherd) are guaranteed to come + ;; last. + (mlet %store-monad ((gexps (sequence %store-monad (reverse mexps)))) (gexp->file "boot" ;; Clean up and activate the system, then spawn shepherd. #~(begin #$@gexps)))) -- cgit v1.2.3