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) | |
bebc8681 | 20 | #:use-module (guix gexp) |
db4fdc04 LC |
21 | #:use-module (guix records) |
22 | #:export (service? | |
23 | service | |
24 | service-documentation | |
25 | service-provision | |
26 | service-requirement | |
27 | service-respawn? | |
28 | service-start | |
29 | service-stop | |
fdaacbad | 30 | service-auto-start? |
55ccc388 | 31 | service-activate |
db4fdc04 LC |
32 | service-user-accounts |
33 | service-user-groups | |
34 | service-pam-services)) | |
35 | ||
36 | ;;; Commentary: | |
37 | ;;; | |
38 | ;;; System services as cajoled by dmd. | |
39 | ;;; | |
40 | ;;; Code: | |
41 | ||
42 | (define-record-type* <service> | |
43 | service make-service | |
44 | service? | |
45 | (documentation service-documentation ; string | |
46 | (default "[No documentation.]")) | |
47 | (provision service-provision) ; list of symbols | |
48 | (requirement service-requirement ; list of symbols | |
49 | (default '())) | |
50 | (respawn? service-respawn? ; Boolean | |
51 | (default #t)) | |
bebc8681 LC |
52 | (start service-start) ; g-expression (procedure) |
53 | (stop service-stop ; g-expression (procedure) | |
54 | (default #~(const #f))) | |
fdaacbad LC |
55 | (auto-start? service-auto-start? ; Boolean |
56 | (default #t)) | |
db4fdc04 LC |
57 | (user-accounts service-user-accounts ; list of <user-account> |
58 | (default '())) | |
59 | (user-groups service-user-groups ; list of <user-groups> | |
60 | (default '())) | |
61 | (pam-services service-pam-services ; list of <pam-service> | |
55ccc388 LC |
62 | (default '())) |
63 | (activate service-activate ; gexp | |
64 | (default #f))) | |
db4fdc04 LC |
65 | |
66 | ;;; services.scm ends here. |