diff options
| -rw-r--r-- | gnu/services.scm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gnu/services.scm b/gnu/services.scm index 13259dfaeee..ddd1bac30c0 100644 --- a/gnu/services.scm +++ b/gnu/services.scm | |||
| @@ -617,13 +617,21 @@ ACTIVATION-SCRIPT-TYPE." | |||
| 617 | "Return a gexp that runs the activation script containing GEXPS." | 617 | "Return a gexp that runs the activation script containing GEXPS." |
| 618 | #~(primitive-load #$(activation-script gexps))) | 618 | #~(primitive-load #$(activation-script gexps))) |
| 619 | 619 | ||
| 620 | (define (activation-profile-entry gexps) | ||
| 621 | "Return, as a monadic value, an entry for the activation script in the | ||
| 622 | system directory." | ||
| 623 | (mlet %store-monad ((activate (lower-object (activation-script gexps)))) | ||
| 624 | (return `(("activate" ,activate))))) | ||
| 625 | |||
| 620 | (define (second-argument a b) b) | 626 | (define (second-argument a b) b) |
| 621 | 627 | ||
| 622 | (define activation-service-type | 628 | (define activation-service-type |
| 623 | (service-type (name 'activate) | 629 | (service-type (name 'activate) |
| 624 | (extensions | 630 | (extensions |
| 625 | (list (service-extension boot-service-type | 631 | (list (service-extension boot-service-type |
| 626 | gexps->activation-gexp))) | 632 | gexps->activation-gexp) |
| 633 | (service-extension system-service-type | ||
| 634 | activation-profile-entry))) | ||
| 627 | (compose identity) | 635 | (compose identity) |
| 628 | (extend second-argument) | 636 | (extend second-argument) |
| 629 | (description | 637 | (description |
