diff options
| author | Théo Tyburn <theo.tyburn@posteo.net> | 2026-06-03 10:56:10 +0200 |
|---|---|---|
| committer | Nguyễn Gia Phong <cnx@loang.net> | 2026-08-31 11:00:19 +0900 |
| commit | c62ebcd02c2eb190ab5dc157475ef4a93a1c7581 (patch) | |
| tree | f178f262874978ac0be45e5499db5cc2d63248fe /gnu/services.scm | |
| parent | 30cb1f541eb99b0fbbec1f8f29796151103c5f2b (diff) | |
doc: Move Commentary above module definition.
Merges: https://codeberg.org/guix/guix/pulls/9052
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
Diffstat (limited to 'gnu/services.scm')
| -rw-r--r-- | gnu/services.scm | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/gnu/services.scm b/gnu/services.scm index 097bfed5f1b..5f987f55a52 100644 --- a/gnu/services.scm +++ b/gnu/services.scm | |||
| @@ -26,6 +26,31 @@ | |||
| 26 | ;;; You should have received a copy of the GNU General Public License | 26 | ;;; You should have received a copy of the GNU General Public License |
| 27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 28 | 28 | ||
| 29 | ;;; Commentary: | ||
| 30 | ;;; | ||
| 31 | ;;; This module defines a broad notion of "service types" and "services." | ||
| 32 | ;;; | ||
| 33 | ;;; A service type describe how its instances extend instances of other | ||
| 34 | ;;; service types. For instance, some services extend the instance of | ||
| 35 | ;;; ACCOUNT-SERVICE-TYPE by providing it with accounts and groups to create; | ||
| 36 | ;;; others extend SHEPHERD-ROOT-SERVICE-TYPE by passing it instances of | ||
| 37 | ;;; <shepherd-service>. | ||
| 38 | ;;; | ||
| 39 | ;;; When applicable, the service type defines how it can itself be extended, | ||
| 40 | ;;; by providing one procedure to compose extensions, and one procedure to | ||
| 41 | ;;; extend itself. | ||
| 42 | ;;; | ||
| 43 | ;;; A notable service type is SYSTEM-SERVICE-TYPE, which has a single | ||
| 44 | ;;; instance, which is the root of the service DAG. Its value is the | ||
| 45 | ;;; derivation that produces the 'system' directory as returned by | ||
| 46 | ;;; 'operating-system-derivation'. | ||
| 47 | ;;; | ||
| 48 | ;;; The 'fold-services' procedure can be passed a list of procedures, which it | ||
| 49 | ;;; "folds" by propagating extensions down the graph; it returns the root | ||
| 50 | ;;; service after the applying all its extensions. | ||
| 51 | ;;; | ||
| 52 | ;;; Code: | ||
| 53 | |||
| 29 | (define-module (gnu services) | 54 | (define-module (gnu services) |
| 30 | #:use-module (guix derivations) | 55 | #:use-module (guix derivations) |
| 31 | #:use-module (guix gexp) | 56 | #:use-module (guix gexp) |
| @@ -149,31 +174,6 @@ | |||
| 149 | ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26805#16>. | 174 | ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26805#16>. |
| 150 | delete)) | 175 | delete)) |
| 151 | 176 | ||
| 152 | ;;; Comment: | ||
| 153 | ;;; | ||
| 154 | ;;; This module defines a broad notion of "service types" and "services." | ||
| 155 | ;;; | ||
| 156 | ;;; A service type describe how its instances extend instances of other | ||
| 157 | ;;; service types. For instance, some services extend the instance of | ||
| 158 | ;;; ACCOUNT-SERVICE-TYPE by providing it with accounts and groups to create; | ||
| 159 | ;;; others extend SHEPHERD-ROOT-SERVICE-TYPE by passing it instances of | ||
| 160 | ;;; <shepherd-service>. | ||
| 161 | ;;; | ||
| 162 | ;;; When applicable, the service type defines how it can itself be extended, | ||
| 163 | ;;; by providing one procedure to compose extensions, and one procedure to | ||
| 164 | ;;; extend itself. | ||
| 165 | ;;; | ||
| 166 | ;;; A notable service type is SYSTEM-SERVICE-TYPE, which has a single | ||
| 167 | ;;; instance, which is the root of the service DAG. Its value is the | ||
| 168 | ;;; derivation that produces the 'system' directory as returned by | ||
| 169 | ;;; 'operating-system-derivation'. | ||
| 170 | ;;; | ||
| 171 | ;;; The 'fold-services' procedure can be passed a list of procedures, which it | ||
| 172 | ;;; "folds" by propagating extensions down the graph; it returns the root | ||
| 173 | ;;; service after the applying all its extensions. | ||
| 174 | ;;; | ||
| 175 | ;;; Code: | ||
| 176 | |||
| 177 | (define-record-type <service-extension> | 177 | (define-record-type <service-extension> |
| 178 | (service-extension target compute) | 178 | (service-extension target compute) |
| 179 | service-extension? | 179 | service-extension? |
