andreas pushed a commit to branch wip-dover
in repository maintenance.

commit 45e64869254c35e2cedec4aef481d76b213a94ce
Author: Andreas Enge <andr...@enge.fr>
AuthorDate: Wed Jun 22 22:18:10 2022 +0200

    hydra: Unify dover configuration with generic overdrive approach.
    
    * hydra/modules/sysadmin/overdrive.scm (%accounts): Add Andreas.
    (overdrive-system): Add Andreas's ssh key.
    * hydra/dover.scm: Replace content by a call to overdrive-system.
---
 hydra/dover.scm                      | 125 +----------------------------------
 hydra/modules/sysadmin/overdrive.scm |   6 +-
 2 files changed, 8 insertions(+), 123 deletions(-)

diff --git a/hydra/dover.scm b/hydra/dover.scm
index a9bcaf7..7c6e7a9 100644
--- a/hydra/dover.scm
+++ b/hydra/dover.scm
@@ -1,123 +1,4 @@
-;; GuixSD configuration file for the SoftIron OverDrive 1000 build machines.
-;; Copyright © 2016, 2017, 2018, 2021 Ludovic Courtès <l...@gnu.org>
-;; Copyright © 2019, 2021 Andreas Enge <andr...@enge.fr>
-;; Released under the GNU GPLv3 or any later version.
+(use-modules (sysadmin overdrive))
 
-(use-modules (guix) (gnu)
-             ((sysadmin services) #:select (berlin-wireguard-peer)))
-(use-service-modules networking mcron ssh avahi cuirass vpn)
-(use-package-modules screen ssh linux vim)
-
-(define (sysadmin name full-name)
-  (user-account
-   (name name)
-   (comment full-name)
-   (group "users")
-   (supplementary-groups '("wheel" "kvm"))
-   (home-directory (string-append "/home/" name))))
-
-(define %accounts
-  (list (sysadmin "ludo" "Ludovic Courtès")
-        (sysadmin "rekado" "Ricardo Wurmus")
-        (sysadmin "andreas" "Andreas Enge")
-        (sysadmin "dannym" "Danny Milosavljevic")
-        (sysadmin "mathieu" "Mathieu Othacehe")
-        (user-account
-         (name "hydra")
-         (comment "Hydra User")
-         (group "users")
-         (home-directory (string-append "/home/" name)))
-        (user-account
-         (name "bayfront")
-         (comment "Bayfront Offload")
-         (group "users")
-         (home-directory (string-append "/home/" name)))))
-
-(define %authorized-guix-keys
-  ;; List of authorized 'guix archive' keys.
-  (list (local-file "keys/guix/berlin.guixsd.org-export.pub")))
-
-(define gc-job
-  ;; Run 'guix gc' at 3AM every day.
-  #~(job '(next-hour '(3)) "guix gc -F 50G"))
-
-(define btrfs-job
-  ;; Run 'btrfs balance' every three days to make free space.
-  #~(job (lambda (now)
-           (next-day-from now (range 1 31 3)))
-         (string-append #$btrfs-progs "/bin/btrfs balance "
-                        "start -dusage=50 -musage=70 /")))
-
-;; The actual machine.
-
-(operating-system
-  (host-name "dover")
-  (timezone "Europe/Paris")
-  (locale "en_US.UTF-8")
-
-  (bootloader (bootloader-configuration
-               (bootloader grub-efi-bootloader)
-               (target "/boot/efi")))
-  (initrd-modules (cons* "xhci-pci" "ahci_platform" "sg" "sd_mod"
-                         %base-initrd-modules))
-  (file-systems (cons* (file-system
-                         (device "/dev/sda3")
-                         (mount-point "/")
-                         (type "btrfs"))
-                       (file-system
-                        (device "/dev/sda1")
-                        (mount-point "/boot/efi")
-                         ;; original options:
-                         ;; 
(rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
-                        (type "vfat"))
-                       %base-file-systems))
-
-  (swap-devices '("/dev/sda4"))
-
-  (users (append %accounts %base-user-accounts))
-  (services (cons* (service openssh-service-type
-                            (openssh-configuration
-                             (permit-root-login 'without-password)
-                             (authorized-keys
-                              `(("ludo" ,(local-file "keys/ssh/ludo.pub"))
-                                ("rekado" ,(local-file "keys/ssh/rekado.pub"))
-                                ("andreas" ,(local-file 
"keys/ssh/andreas.pub"))
-                                ("dannym" ,(local-file "keys/ssh/dannym.pub"))
-                                ("mathieu" ,(local-file 
"keys/ssh/mathieu.pub"))
-                                ("root" ,(local-file 
"keys/ssh/andreas.pub"))))))
-                   (service dhcp-client-service-type)
-                   (service mcron-service-type
-                            (mcron-configuration
-                             (jobs (list gc-job btrfs-job))))
-
-                   (service agetty-service-type
-                            (agetty-configuration
-                             (tty "ttyAMA0")
-                             (keep-baud? #t)
-                             (term "vt220")
-                             (baud-rate "115200,38400,9600")))
-
-                   (service ntp-service-type)
-
-                   (service avahi-service-type)
-                   (service cuirass-remote-worker-service-type
-                            (cuirass-remote-worker-configuration
-                             (workers 4)
-                             (server "10.0.0.1:5555") ;berlin
-                             (systems '("armhf-linux" "aarch64-linux"))
-                             (substitute-urls '("http://10.0.0.1";))))
-                   (service wireguard-service-type
-                            (wireguard-configuration
-                             (addresses '("10.0.0.4/32"))
-                             (peers (list berlin-wireguard-peer))))
-
-                   (modify-services %base-services
-                     (guix-service-type config =>
-                                        (guix-configuration
-                                         (inherit config)
-                                         (use-substitutes? #t)
-                                         (max-silent-time 7200)
-                                         (authorized-keys
-                                          %authorized-guix-keys))))))
-
-  (packages (cons* btrfs-progs screen openssh vim %base-packages)))
+(overdrive-system "dover"
+                  #:wireguard-ip "10.0.0.4/32")
diff --git a/hydra/modules/sysadmin/overdrive.scm 
b/hydra/modules/sysadmin/overdrive.scm
index dc8ec50..2a18b4d 100644
--- a/hydra/modules/sysadmin/overdrive.scm
+++ b/hydra/modules/sysadmin/overdrive.scm
@@ -2,6 +2,7 @@
 ;;;
 ;;; Copyright © 2016-2018, 2020-2022 Ludovic Courtès <l...@gnu.org>
 ;;; Copyright © 2020, 2021 Mathieu Othacehe <othac...@gnu.org>
+;;; Copyright © 2022 Andreas Enge <andr...@enge.fr>
 ;;;
 ;;; This program is free software: you can redistribute it and/or modify
 ;;; it under the terms of the GNU General Public License as published by
@@ -46,6 +47,7 @@
         (sysadmin "janneke" "Jan Nieuwenhuizen")
         (sysadmin "mathieu" "Mathieu Othacehe")
         (sysadmin "maxim" "Maxim Cournoyer")
+        (sysadmin "andreas" "Andreas Enge")
         (user-account
          (name "hydra")
          (comment "Hydra User")
@@ -110,7 +112,9 @@
                    ("dannym" ,(local-file "../../keys/ssh/dannym.pub"))
                    ("janneke" ,(local-file "../../keys/ssh/janneke.pub"))
                    ("mathieu" ,(local-file "../../keys/ssh/mathieu.pub"))
-                   ("maxim" ,(local-file "../../keys/ssh/maxim.pub"))))))
+                   ("maxim" ,(local-file "../../keys/ssh/maxim.pub"))
+                   ("andreas" ,(local-file "../../keys/ssh/andreas.pub"))))))
+
       (service avahi-service-type)
       (service dhcp-client-service-type)
       (service mcron-service-type

Reply via email to