(define-module (gnu services networking)
#:use-module (gnu services)
- #:use-module (gnu services dmd)
+ #:use-module (gnu services shepherd)
#:use-module (gnu services dbus)
#:use-module (gnu system shadow)
#:use-module (gnu system pam)
(net-tools static-networking-net-tools))
(define static-networking-service-type
- (dmd-service-type
+ (shepherd-service-type
'static-networking
(match-lambda
(($ <static-networking> interface ip gateway provision
;; TODO: Eventually replace 'route' with bindings for the appropriate
;; ioctls.
- (dmd-service
+ (shepherd-service
;; Unless we're providing the loopback interface, wait for udev to be up
;; and running so that INTERFACE is actually usable.
(net-tools net-tools))))
(define dhcp-client-service-type
- (dmd-service-type
+ (shepherd-service-type
'dhcp-client
(lambda (dhcp)
(define dhclient
(define pid-file
"/var/run/dhclient.pid")
- (dmd-service
+ (shepherd-service
(documentation "Set up networking via DHCP.")
(requirement '(user-processes udev))
(default ntp))
(servers ntp-configuration-servers))
-(define ntp-dmd-service
+(define ntp-shepherd-service
(match-lambda
(($ <ntp-configuration> ntp servers)
(let ()
(define ntpd.conf
(plain-file "ntpd.conf" config))
- (list (dmd-service
+ (list (shepherd-service
(provision '(ntpd))
(documentation "Run the Network Time Protocol (NTP) daemon.")
(requirement '(user-processes networking))
(define ntp-service-type
(service-type (name 'ntp)
(extensions
- (list (service-extension dmd-root-service-type
- ntp-dmd-service)
+ (list (service-extension shepherd-root-service-type
+ ntp-shepherd-service)
(service-extension account-service-type
(const %ntp-accounts))))))
(display "\
# The beginning was automatically added.
User tor
+DataDirectory /var/lib/tor
Log notice syslog\n" port)
(for-each (match-lambda
((service (ports hosts) ...)
(format port "\
-HiddenServiceDir /var/lib/tor/~a~%"
+HiddenServiceDir /var/lib/tor/hidden-services/~a~%"
service)
(for-each (lambda (tcp-port host)
(format port "\
#t)))
#:modules '((guix build utils))))))
-(define (tor-dmd-service config)
- "Return a <dmd-service> running TOR."
+(define (tor-shepherd-service config)
+ "Return a <shepherd-service> running TOR."
(match config
(($ <tor-configuration> tor)
(let ((torrc (tor-configuration->torrc config)))
- (list (dmd-service
+ (list (shepherd-service
(provision '(tor))
;; Tor needs at least one network interface to be up, hence the
#~(begin
(use-modules (guix build utils))
+ (define %user
+ (getpw "tor"))
+
(define (initialize service)
- (let ((directory (string-append "/var/lib/tor/"
- service))
- (user (getpw "tor")))
+ (let ((directory (string-append "/var/lib/tor/hidden-services/"
+ service)))
(mkdir-p directory)
- (chown directory (passwd:uid user) (passwd:gid user))
+ (chown directory (passwd:uid %user) (passwd:gid %user))
;; The daemon bails out if we give wider permissions.
(chmod directory #o700)))
+ (mkdir-p "/var/lib/tor")
+ (chown "/var/lib/tor" (passwd:uid %user) (passwd:gid %user))
+ (chmod "/var/lib/tor" #o700)
+
(for-each initialize
'#$(map hidden-service-name
(tor-configuration-hidden-services config)))))
(define tor-service-type
(service-type (name 'tor)
(extensions
- (list (service-extension dmd-root-service-type
- tor-dmd-service)
+ (list (service-extension shepherd-root-service-type
+ tor-shepherd-service)
(service-extension account-service-type
(const %tor-accounts))
(service-extension activation-service-type
In this example, port 22 of the hidden service is mapped to local port 22, and
port 80 is mapped to local port 8080.
-This creates a @file{/var/lib/tor/@var{name}} directory, where the
-@file{hostname} file contains the @code{.onion} host name for the hidden
+This creates a @file{/var/lib/tor/hidden-services/@var{name}} directory, where
+the @file{hostname} file contains the @code{.onion} host name for the hidden
service.
See @uref{https://www.torproject.org/docs/tor-hidden-service.html.en, the Tor
(port bitlbee-configuration-port)
(extra-settings bitlbee-configuration-extra-settings))
-(define bitlbee-dmd-service
+(define bitlbee-shepherd-service
(match-lambda
(($ <bitlbee-configuration> bitlbee interface port extra-settings)
(let ((conf (plain-file "bitlbee.conf"
DaemonPort = " (number->string port) "
" extra-settings))))
- (list (dmd-service
+ (list (shepherd-service
(provision '(bitlbee))
(requirement '(user-processes loopback))
(start #~(make-forkexec-constructor
(define bitlbee-service-type
(service-type (name 'bitlbee)
(extensions
- (list (service-extension dmd-root-service-type
- bitlbee-dmd-service)
+ (list (service-extension shepherd-root-service-type
+ bitlbee-shepherd-service)
(service-extension account-service-type
(const %bitlbee-accounts))
(service-extension activation-service-type
(copy-file (string-append #$wicd file-name)
file-name)))))
-(define (wicd-dmd-service wicd)
- "Return a dmd service for WICD."
- (list (dmd-service
+(define (wicd-shepherd-service wicd)
+ "Return a shepherd service for WICD."
+ (list (shepherd-service
(documentation "Run the Wicd network manager.")
(provision '(networking))
(requirement '(user-processes dbus-system loopback))
(define wicd-service-type
(service-type (name 'wicd)
(extensions
- (list (service-extension dmd-root-service-type
- wicd-dmd-service)
+ (list (service-extension shepherd-root-service-type
+ wicd-shepherd-service)
(service-extension dbus-root-service-type
list)
(service-extension activation-service-type
(use-modules (guix build utils))
(mkdir-p "/etc/NetworkManager/system-connections")))
-(define (network-manager-dmd-service network-manager)
- "Return a dmd service for NETWORK-MANAGER."
- (list (dmd-service
+(define (network-manager-shepherd-service network-manager)
+ "Return a shepherd service for NETWORK-MANAGER."
+ (list (shepherd-service
(documentation "Run the NetworkManager.")
(provision '(networking))
(requirement '(user-processes dbus-system loopback))
(define network-manager-service-type
(service-type (name 'network-manager)
(extensions
- (list (service-extension dmd-root-service-type
- network-manager-dmd-service)
+ (list (service-extension shepherd-root-service-type
+ network-manager-shepherd-service)
(service-extension dbus-root-service-type list)
(service-extension activation-service-type
(const %network-manager-activation))