Hello! The GNU Hackers Meeting (GHM) took place last week, with ~50 people including 4 Guix hackers (less than at FOSDEM!). I found myself talking 3 times (!) about Guix, hoping the audience would not saturate. ;-)
https://www.gnu.org/ghm/program.html Slides online, and hopefully videos will follow: https://www.gnu.org/software/guix/help/#talks The first talk was the usual status update in which I also talked about challenges that we face to scale up, how we address them and what remains to be done. On that topic, I had an interesting discussion with Nicolas Petton of Emacs about patch tracking. Nicolas explained that Gitlab (free software) doesn’t have some of the technical defects that GitHub has; in particular it can rebase instead of merging, thereby helping preserve a linear history, and it can be dealt with “mostly” by email. Perhaps we could try running an instance and see what it’s like. For the second talk, I replaced Mathieu who could not make it to the event. Essentially, I demoed most of the guix.el features described in the manual, and expressed all my gratitude to Alex. ;-) For the last talk, I rehashed the basics since the audience wasn’t too familiar I suppose, and then wrote a GuixSD service for OpenSSH’s ‘sshd’ (attached). Hopefully a useful starting point and tutorial. That’s it! Ludo’.
(define-module (gnu services openssh) #:use-module (gnu) #:use-module (gnu services shepherd) #:use-module (gnu packages ssh) #:use-module (guix) #:export (openssh-service-type)) (define (ssh-shepherd-service config-file) (list (shepherd-service (provision '(ssh-daemon)) (requirement '(networking)) (start #~(make-forkexec-constructor (list (string-append #$openssh "/sbin/sshd") "-f" #$config-file) #:pid-file "/etc/sshd.pid")) (stop #~(make-kill-destructor))))) (define %sshd-accounts (list (user-account (name "sshd") (comment "OpenSSH privilege separation user") (home-directory "/var/empty") (system? #t) (group "nogroup")))) (define %sshd-keygen #~(system* (string-append #$openssh "/bin/ssh-keygen") "-t" "ed25519" "-N" "" "-f" "/etc/ssh_host_ed25519_key")) (define openssh-service-type (service-type (name 'openssh) (extensions (list (service-extension shepherd-root-service-type ssh-shepherd-service) (service-extension account-service-type (const %sshd-accounts)) (service-extension activation-service-type (const %sshd-keygen))))))
signature.asc
Description: PGP signature