Commit | Line | Data |
---|---|---|
db4fdc04 LC |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> | |
3 | ;;; | |
4 | ;;; This file is part of GNU Guix. | |
5 | ;;; | |
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
7 | ;;; under the terms of the GNU General Public License as published by | |
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
9 | ;;; your option) any later version. | |
10 | ;;; | |
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | ;;; GNU General Public License for more details. | |
15 | ;;; | |
16 | ;;; You should have received a copy of the GNU General Public License | |
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
18 | ||
19 | (define-module (gnu services) | |
20 | #:use-module (guix records) | |
21 | #:export (service? | |
22 | service | |
23 | service-documentation | |
24 | service-provision | |
25 | service-requirement | |
26 | service-respawn? | |
27 | service-start | |
28 | service-stop | |
55ccc388 | 29 | service-activate |
db4fdc04 LC |
30 | service-user-accounts |
31 | service-user-groups | |
32 | service-pam-services)) | |
33 | ||
34 | ;;; Commentary: | |
35 | ;;; | |
36 | ;;; System services as cajoled by dmd. | |
37 | ;;; | |
38 | ;;; Code: | |
39 | ||
40 | (define-record-type* <service> | |
41 | service make-service | |
42 | service? | |
43 | (documentation service-documentation ; string | |
44 | (default "[No documentation.]")) | |
45 | (provision service-provision) ; list of symbols | |
46 | (requirement service-requirement ; list of symbols | |
47 | (default '())) | |
48 | (respawn? service-respawn? ; Boolean | |
49 | (default #t)) | |
b5f4e686 LC |
50 | (start service-start) ; g-expression |
51 | (stop service-stop ; g-expression | |
db4fdc04 | 52 | (default #f)) |
db4fdc04 LC |
53 | (user-accounts service-user-accounts ; list of <user-account> |
54 | (default '())) | |
55 | (user-groups service-user-groups ; list of <user-groups> | |
56 | (default '())) | |
57 | (pam-services service-pam-services ; list of <pam-service> | |
55ccc388 LC |
58 | (default '())) |
59 | (activate service-activate ; gexp | |
60 | (default #f))) | |
db4fdc04 LC |
61 | |
62 | ;;; services.scm ends here. |