42 lines
1.6 KiB
Scheme
42 lines
1.6 KiB
Scheme
|
(define-module (machines base-desktop)
|
||
|
#:use-module (system base-system)
|
||
|
#:use-module (guix gexp)
|
||
|
#:use-module (gnu)
|
||
|
#:use-module (gnu services configuration)
|
||
|
#:use-module (gnu packages openldap)
|
||
|
#:use-module (gnu packages admin))
|
||
|
|
||
|
(define-configuration/no-serialization slapd-configuration
|
||
|
(openldap (file-like openldap)
|
||
|
"openldap package to use")
|
||
|
(slapd-uris (list-of-strings (list
|
||
|
"ldap://"
|
||
|
"ldapi://"))
|
||
|
"slapd uris to accept connections to"))
|
||
|
|
||
|
(define (slapd-accounts config)
|
||
|
(list (user-group
|
||
|
(name "slapd")
|
||
|
(system? #t))
|
||
|
(user-account
|
||
|
(name "slapd")
|
||
|
(group "slapd")
|
||
|
(system? #t)
|
||
|
(comment "openldap service account")
|
||
|
(home-directory "/var/lib/slapd")
|
||
|
(shell #~(string-append #$shadow "/sbin/nologin")))))
|
||
|
|
||
|
(define slapd-service-type
|
||
|
(service-type (name 'slapd)
|
||
|
(description "openldap slapd service")
|
||
|
(extensions (list (service-extension account-service-type
|
||
|
slapd-accounts)))
|
||
|
(default-value (slapd-configuration))))
|
||
|
|
||
|
(operating-system
|
||
|
(inherit %metznet-base-server-system)
|
||
|
(host-name "ldap.metznet.ca")
|
||
|
(packages %metznet-server-packages)
|
||
|
(services
|
||
|
(append (list (service slapd-service-type)) %metznet-server-services)))
|