Message ID | 20200713162330.79213853@riseup.net |
---|---|
State | Accepted |
Headers | show |
Series | [bug#41803] Yggdrasil package and accompanying shepherd service (mesh network) | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | fail | View Laminar job |
On Mon, 13 Jul 2020 16:23:30 +0200 raingloom <raingloom@riseup.net> wrote: > On Sun, 12 Jul 2020 00:12:06 +0200 > Julien Lepiller <julien@lepiller.eu> wrote: > > > > > Hi, > > > > this is more of a quick review. > > > > First patch LGTM. > > > > You should split every package you add in the second patch in > > separate patches. Also the commit message should say "new > > variable", no need to say it's public. > > Done! > > > You left a comment about the license for go-github-com-gologme-log. > > Have you contacted upstream to tell them about that, what was their > > reaction? I think the fact that the readme says bsd implies the > > intention is that it is free software, but better safe than sorry. > > Heck, I forgot to do that, but I have contacted them yesterday and > they fixed it. > > > Otherwise, these packages lgtm. > > > > In the third patch again, the commit message should say "new > > variable". You should not use the past tense either, so "Add it". > > > > Is the licenes lgpl3, or lgpl3+? > > Looks like (custom) lgpl3. The readme says so and I couldn't find > anything to indicate that a later version would also be acceptable. > > > Not a go programmer, so I'm not reading the patch, but I'm trusting > > you that it works :) > > > > For the fourth patch, I don't think you need to list new private > > variables in the commit message, nor new dependencies. Only list > > public variables, as "New variables". > > > > As you noted, could you add something about it to the manual? > > On it, but I've never used texinfo, so this might take a while. Gonna > send it in a later mail. > > > In the system example, should Yggdrasil really be installed in the > > system profile? If so, I think you can add a profile-service-type > > extension to the service so the package is automatically available. > > Then you don't need to specify the package in the os configuration, > > and it ensures you install the same package (declared in the service > > configuration) for the service and in the system. > > Technically it can be used without it, but yggdrasilctl is a useful > tool. I added it with the profile-service-type extension and removed > it from the packages field in the example. > > > Thanks for working on this! > > UwU Bump. Could someone please test this? Others have expressed interest in usin Yggdrasil with Guix, so I really think these patches would be useful. New versions of the packages are already coming out though, so if necessary I could send a new patch series with the updated versions.
From 1f947b42acdf2aa20ae0421081c959a8faebaacf Mon Sep 17 00:00:00 2001 From: raingloom <raingloom@protonmail.com> Date: Thu, 11 Jun 2020 14:16:42 +0200 Subject: [PATCH 10/10] gnu: system: add example with yggdrasil * gnu/system/examples/yggdrasil.tmpl: New file. --- gnu/system/examples/yggdrasil.tmpl | 61 ++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 gnu/system/examples/yggdrasil.tmpl diff --git a/gnu/system/examples/yggdrasil.tmpl b/gnu/system/examples/yggdrasil.tmpl new file mode 100644 index 0000000000..be222e9223 --- /dev/null +++ b/gnu/system/examples/yggdrasil.tmpl @@ -0,0 +1,61 @@ +;; This is an operating system configuration template +;; for a "bare bones" setup, with no X11 display server. + +(use-modules (gnu)) +(use-service-modules networking ssh) +(use-package-modules admin networking screen) + +(operating-system + (host-name "ruby-guard-5545") + (timezone "Europe/Budapest") + (locale "en_US.utf8") + + ;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the + ;; target hard disk, and "my-root" is the label of the target + ;; root file system. + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (target "/dev/sdX"))) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + + ;; This is where user accounts are specified. The "root" + ;; account is implicit, and is initially created with the + ;; empty password. + (users (cons (user-account + (name "alice") + (comment "Bob's sister") + (group "users") + + ;; Adding the account to the "wheel" group + ;; makes it a sudoer. Adding it to "audio" + ;; and "video" allows the user to play sound + ;; and access the webcam. + (supplementary-groups '("wheel" + "audio" "video"))) + %base-user-accounts)) + + ;; Globally-installed packages. + (packages (cons* screen %base-packages)) + + ;; Add services to the baseline: a DHCP client and + ;; an SSH server. + (services + (append + (list + (service dhcp-client-service-type) + (service yggdrasil-service-type + (yggdrasil-configuration + (log-to 'stdout) + (log-level 'debug) + (autoconf? #f) + (json-config + ;; choose one from https://github.com/yggdrasil-network/public-peers + '((peers . #("tcp://1.2.3.4:1337")))))) + (service openssh-service-type + (openssh-configuration + (port-number 2222)))) + %base-services))) -- 2.27.0