guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GHM debriefing


From: Ludovic Courtès
Subject: GHM debriefing
Date: Mon, 29 Aug 2016 00:09:23 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

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))))))

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]