Hi Guix, this patch adds an inetd-service. The service is configured using a list of records, which correspond to lines in the inetd.conf file (documented in the inetutils info manual). The following example will start inetd with the built-in “echo” service, and with an smtp service, which uses ssh to tunnel smtp traffic to a server “smtp-server” behind a gateway “hostname”: (service inetd-service-type (list (inetd-entry (name "echo") (socket-type 'stream) (protocol "tcp") (wait? #t) (user "root")) ; no program and arguments fields required for inetd's "internal" services such as echo (inetd-entry (node "127.0.0.1") (name "smtp") (socket-type 'stream) (protocol "tcp") (wait? #f) (user "root") (program (file-append openssh "/bin/ssh")) (arguments "-q -T -i /path/to/key -W smtp-server:25 user@hostname")))) This will run inetd with a config file containing these 2 lines:: <----------------------------------------------------------------------------> echo stream tcp wait root internal internal 127.0.0.1:smtp stream tcp nowait root /gnu/store/kdn1099drrdd2xbypg8x006a0aknskx8-openssh-7.4p1/bin/ssh -q -T -i /path/to/key -W smtp-server:25 user@hostname <----------------------------------------------------------------------------> The configuration doesn't include an “escape hatch” option where the user can specify an arbitrary inetd.conf, but I think the current configuration method captures all possibilities, and inetd's configuration format is unlikely to change radically? Or perhaps the (inetd-config-file) procedure can be exported, so users can either use the procedure with a list of 's, or directly pass a (mixed-text-file) or any other file-like. Obviously documentation is still missing, but I wanted to wait for a first round of comments before writing the docs. Let me know if I should already include them anyway. Thomas