Online Guix Day Conference: schedule released!

The Guix hackers are very happy to announce the first online Guix Day Conference on Sunday November, 22nd. This conference is open to everyone (no registration fee) and will be held entirely online. Want to know the schedule, read on!

There will be no presentation on the 22nd! Please watch the talks beforehand.

Guix Days logo

Join us live on the 22nd to participate in the various sessions!

Live discussions will take place on Sunday, November 22nd, and the agenda is the following (UTC+1):

(break)

(long break)

(break)

Chinese users will find a mirror hosted at https://guix.org.cn. You will also find alternative links below for different formats, and downloading through IPFS.

Each session will be question/answer and discussion related to the topic via the BigBlueButton instance generously hosted by Fosshost. Warm thanks to them!

The slots are short so please watch the videos beforehand to better enjoy the discussions. The term BoF means open discussion to address prospects. The last discussion may be longer depending on what you have to share.

The main channel for the day will be the video chat and questions will be asked via the chat hosted there or––because we love it––via #guix on libera.chat then the floor might be shared, opening more mics. The discussions will not be recorded because we would like to keep them informal––where people are less impressed to share their point of views.

The Code of Conduct applies for all the channels of communication.

GNU Guix in psychology research and teaching

Presented by Lars-Dominik Braun. (video webm, video mp4, doi, slide, ipfs)

The Leibniz Institute for Psychology supports psychologists in adopting open science practices by providing them with free infrastructure services. One of these services is PsychNotebook, a web platform providing access to shareable and reproducible R and Python programming environments, using RStudio and JupyterLab in particular. PsychNotebook is used by researchers for analyzing research data and by instructors to teach psychology students script-based analyses.

The session covers why psychology among other research field needs this platform, how it is designed and what role GNU Guix plays in all of this. In particular, four challenges are addressed: user management, project management, web app deployment/proxying; as well as usability and how GNU Guix supports or provide reproducible environments.

Fixing the CI

Presented by Mathieu Othacehe. (video webm, video mp4, ipfs)

The session covers the following points:

Nix and Guix: similarities and differences

Presented by Andrew Tropin. (video, video mp4, ipfs)

The session covers an high-level overview and comparison of Nix and GNU Guix package managers or NixOS and Guix System distributions. The comparison had been initiated to understand the differences between those two great projects. It may inspire people from both communities to implement missing features or help someone to decide, which package manager or operating system to pick.

From v1.2 to release process

Chaired by Simon Tournier.

The session covers a proposal to smooth the release process; ironic for a rolling-release project, isn’t it? Make a release means:

  1. how and what to do: tools
  2. schedule / track
  3. who do: people

The #1 is roughly described in the file maintenance/doc/release.org. Even if a non-negligible part is based on experience and cannot be documented; see #3. However, tools are still missing: going further than guix weather --coverage or --display-missing.

The #2 means track what is going on between 2 releases. It seems easier to write down important changes when they happen than parse all the log history one week before releasing in order to publish the NEWS file. More importantly, #2 means stay on track with the schedule: release when it is ready? at fixed date? what must be in? does it make sense to synchronize with staging merges? how to synchronize with the branch core-updates?

The #3 means who take the responsibility to do the job. And it appears easier to divide the workload. More importantly, how to share the skill? Guix could take inspiration from Nix or GNU Glibc or your-name-it.

Porting Guix to modern PowerPC

Presented by Tobias Platen. (video webm, video mp4, ipfs)

The sessions covers how to port of Guix to modern 64-bit Little Endian, since that one is best supported by the Talos II and its graphics card, the AST2500. The final aim would be a self hosting version of Guix that runs on the Talos II, the Blackbird and the upcoming Libre-SOC. Such port may also be useful to support older PowerMacs including the G4 and G5.

Just build it with Guix

Presented by Efraim Flashner. (video webm, video mp4, ipfs)

The session covers how to use Guix as build plateform. Creating custom packages is ubiquitous with Guix and packaging with Guix is fairly straightforward. But what about working with packages where you want to package a non-release version? Or if you're hacking on another package which either isn't packaged or you want to test your changes before sending off a patch set or a pull request? The file guix.scm is the unofficial filename for Guix build instructions for this case. It provides a target for creating an environment for hacking on the package, and it creates a recipe to build what's currently in that repository; meaning you can use the power of Guix for builds even while working on other projects. A combination of a little bit of boiler-plate for building “this here repository” and standard package definitions allow for easy building and rebuilding without dirtying the source tree. And also for building multiple versions of the package in one go.

Progress so far on the Guix Build Coordinator

Presented by Chris Baines. (video webm, video mp4, ipfs)

The session looks at the Guix Build Coordinator, a tool for building lots of derivations, potentially across many machines, and doing something useful with the results. This is a new tool that might be able to help with patch review, quality assurance as well as substitute availability. The talk will cover the motivation, design, implementation and future, along with a small demo of the Guix Build Coordinator.

Peer-to-peer substitutes and sources

Chaired by David Dashyan.

The session covers the status of the peer-to-peer substitutes distribution. Especially the almost 2 years old first draft adding support to distribute and retrieve substitutes over IPFS; see the wip-ipfs-substitutes branch. Moreover the branches wip-ipfs and wip-ipfs2 are attempts to add the Go part of IPFS. The discussion will address the next steps to merge the branch wip-ipfs-substitutes or how to add decentralized substitutes distribution.

Guile Hacker Handbook

Presented by Jérémy Korwin-Zmijowski. (video webm, video mp4, ipfs)

The sessions covers Guile Hacker Handbook (GHH). The purpose of the GHH is to show Guile the way modern programming languages are shown, i.e., demonstrating its tools and following development approach we often stick to professionally.

Lengthy manuals are often hard to grasp at first; especially when learning new materials from scratch. Instead, it seems easier to rely first on tutorials or blog posts. Writing style and direct application sometimes helps to understand the underlying concepts). Then reads the reference manual feels more comfortable. GHH is an attempt to address this. For example, GHH is about Guile, not Scheme.

GHH is also about Test Driven Development and focuses on tests as first-class citizen.

(BoF) Rust and Cargo

Chaired by John Soo.

The session covers the various issues with the Rust ecosystem in Guix. The discussion is about:

Bootstrapping the Java Ecosystem

Presented by Julien Lepiller. (video webm, video mp4, ipfs)

The session covers the Maven bootstrap and the Maven Build System and how this Maven story may inspire directions to implement similar bootstrap stories for other ecosystems.

Ensuring that software is built entirely from source is an essential practice to ensure user Freedom, as well as for auditability and security. Unfortunately, the Java ecosystem is very complex and presents some interesting challenges when building from source.

One of these challenges is Maven, a build tool and package manager that is used by many if not most of the Java developers nowadays. One key challenge is that Maven is itself a Java package, that is built with Maven and has a lot of dependencies, that themselves use Maven.

The discussion presents the current state of the bootstrap and how we break the various dependency cycles that occur. The recent addition to Guix of the maven build system is a major step towards a good support of the Java ecosystem in Guix. We will discuss how Maven works, what it expects, and how Guix can accommodate it to build offline, reproducibly, with no trusted binary.

The ways forward (roadmap and beyond)

Chaired by GNU Guix maintainers.

The session covers the medium- and long-term goals that may or may not look realistic. Pragmatic dream!

Code of Conduct

This online conference is an official Guix event. Therefore, the Code of Conduct applies. Please be sure to read it beforehand!

If you witness violations of the code of conduct during the event, please email guix-days@gnu.org, a private email alias that reaches the organizers (Simon zimoun Tournier and Julien roptat Lepiller) and the GNU Guix maintainers.

About GNU Guix

GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the Hurd or the Linux kernel, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.

Related topics:

Community Conference

Unless otherwise stated, blog posts on this site are copyrighted by their respective authors and published under the terms of the CC-BY-SA 4.0 license and those of the GNU Free Documentation License (version 1.3 or later, with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts).