https://guix.gnu.org/feeds/blog/talks.atomGNU Guix — Blog — Talksfeed author nameGNU Guixhttps://guix.gnu.org/themes/initial/img/icon.png2024-03-20T10:57:53Zhttps://guix.gnu.org/blog/2024/guix-days-2024-recap//Guix Days 2024 and FOSDEM recapSteve George2024-02-10T18:00:00Z2024-02-10T18:00:00Z Guix contributors and users got together in Brussels to explore Guix's status, chat about new ideas and spend some time together enjoying Belgian beer! Here's a recap of what was discussed. Day 1 The first day kicked off with an update on the project's health, given by Efraim Flashner representing the project's Maintainer collective. Efraim relayed that the project is doing well, with lots of exciting new features coming into the archive and new users taking part. It was really cool listening to all the new capabilities - thank-you to all our volunteer contributors who are…<p>Guix contributors and users got together in Brussels to explore Guix's status, chat about new ideas and spend some time together enjoying Belgian beer! Here's a recap of what was discussed.</p><h1>Day 1</h1><p>The first day kicked off with an update on the project's health, given by Efraim Flashner representing the project's Maintainer collective. Efraim relayed that the project is doing well, with lots of exciting new features coming into the archive and new users taking part. It was really cool listening to all the new capabilities - thank-you to all our volunteer contributors who are making Guix better! Efraim noted that the introduction of <a href="https://guix.gnu.org/manual/en/html_node/Teams.html">Teams</a> has improved collaboration - equally, that there's plenty of areas we can improve. For example, concern remains over the "bus factor" in key areas like infrastructure. There's also a desire to release more often as this provides an updated installer and lets us talk about new capabilities.</p><p>Christopher Baines gave a general talk about the QA infrastructure and the ongoing work to develop automated builds. Chris showed a diagram of the way the <a href="https://qa.guix.gnu.org/README#org5dde7a9">services interact</a> which shows how complex it is. Increasing automation is very valuable for users and contributors, as it removes tedious and unpleasant drudgery!</p><p>Then, Julien Lepiller, representing the <a href="https://foundation.guix.info/">Guix Foundation</a>, told us about the work it does. Julien also brought some great stickers! The Guix Foundation is a non-profit association that can receive donations, host activities and support the Guix project. Did you know that it's simple and easy to join? Anyone can do so by simply <strong><a href="https://foundation.guix.info/statutes/membershipform.txt">filling in the form and paying the 10 Euro membership fee</a></strong>. Contact the Guix Foundation if you'd like to know more.</p><p>The rest of the day was taken up with small groups discussing topics:</p><ul><li><p><strong>Goblins, Hoot and Guix</strong>: Christine Lemmer-Webber gave an introduction to
the <a href="https://spritely.institute/">Spritely Institute's</a> mission to create
decentralized networks and community infrastructure that respects user freedom
and security. There was a lot of interesting discussion about how the
network capabilities could be used in Guix, for example enabling distributed
build infrastructure.</p></li><li><p><strong>Infrastructure</strong>: There was a working session on how the projects
infrastructure works and can be improved. Christopher Baines has been
putting lots of effort into the QA and build infrastructure.</p></li><li><p><strong>Guix Home</strong>: Gábor Boskovits coordinated a session on Guix Home. It was
exciting to think about how Guix Home introduces the "Guix way" in a
completely different way from packages. This could introduce a whole new
audience to the project. There was interest in improving the overall
experience so it can be used with other distributions
(e.g. Fedora, Arch Linux, Debian and Ubuntu).</p></li><li><p><strong>Release management</strong>: Julien Lepiller led us through a discussion of
release management, explaining the ways that all the parts fit together. The
most important part that has to be done is testing the installation image
which is a manual process.</p></li></ul><h1>Day 2</h1><p>The second day's sessions:</p><ul><li><p><strong>Funding</strong>: A big group discussed funding for the project. Funding is
important because it determines many aspects of what the group can achieve.
Guix is a global project so there are pools of money in the United States and
Europe (France). Andreas Enge and Julien Lepiller represented the group that
handle finance, giving answers on the practical elements. Listening to their
description of this difficult and involved work, I was struck how grateful
we all are that they're willing to do it!</p></li><li><p><strong>Governance</strong>: Guix is a living project that continues to grow and evolve.
The governance discussion concerned how the project continues to chart a
clear direction, make good decisions and bring both current and new users on
the journey. There was reflection on the need for accountability and quick
decision making, without onerous bureaurcacy, while also acknowledging that
everyone is a volunteer. There was a lot of interest in how groups can join
together, perhaps using approaches like <a href="https://en.wikipedia.org/wiki/Sociocracy">Sociocracy</a>.</p><p>Simon Tournier has been working on an <a href="https://issues.guix.gnu.org/issue/66844">RFC process</a>,
which the project will use to discuss major changes and make decisions.
Further discussion is taking place on the development mailing-list if you'd
like to take part.</p></li><li><p><strong>Alternative Architectures</strong>: The Guix team continues to work on
alternative architectures. Efraim had his 32-bit PowerPC (Powerbook G4) with
him, and there's continued work on PowerPC64, ARM64 and RISC-V 64. The big
goal is a complete source bootscrap across all architectures.</p></li><li><p><strong>Hurd</strong>: Janneke Nieuwenhuizen led a discussion around
<a href="https://www.gnu.org/software/hurd/">GNU Hurd</a>, which is a microkernel-based
architecture. Activity has increased in the last couple of years, and there's
support for SMP and 64-bit (x86) is work in progress. There's lots of ideas
and excitement about getting Guix to work on Hurd.</p></li><li><p><strong>Guix CLI improvements</strong>: Jonathan coordinated a discussion about the state of the Guix CLI. A consistent, self-explaining and intuitive experience is important for our users. There are 39 top-level commands, that cover all the functionality from package management through to environment and system creation! Various improvements were discussed, such as making extensions available and improving documentation about the REPL work-flow.</p></li></ul><h1>FOSDEM 2024 videos</h1><p>Guix Days 2024 took place just before FOSDEM 2024. FOSDEM was a fantastic two days of interesting talks and conversations. If you'd like to watch the GUIX-related talks the videos are being put online:</p><ul><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2651-making-reproducible-and-publishable-large-scale-hpc-experiments/"><strong>Making reproducible and publishable large-scale HPC experiments</strong></a>
by Philippe Swartvagher.</p></li><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2339-scheme-in-the-browser-with-guile-hoot-and-webassembly/"><strong>Scheme in the Browser with Guile Hoot and WebAssembly</strong></a>
by Robin Templeton.</p></li><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-1755-risc-v-bootstrapping-in-guix-and-live-bootstrap/"><strong>RISC-V Bootstrapping in Guix and Live-Bootstrap</strong></a>
by Ekaitz Zarraga.</p></li><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2560-self-hosting-and-autonomy-using-guix-forge/"><strong>Self-hosting and autonomy using guix-forge</strong></a>
by Arun Isaac.</p></li><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2331-spritely-guile-guix-a-unified-vision-for-user-security/"><strong>Spritely, Guile, Guix: a unified vision for user security</strong></a>
by Christine Lemmer-Webber.</p></li><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2927-supporting-architecture-psabis-with-gnu-guix/"><strong>Supporting architecture psABIs with GNU Guix</strong></a>
by Efraim Flashner.</p></li></ul><h1>Join Us</h1><p>There's lots happening in Guix and many ways to get involved. We're a small and friendly project that values user freedom and a welcoming community. If this recap has inspired your interest, take a look at the <a href="https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/doc/guix-days-2024">raw notes</a> and <a href="https://guix.gnu.org/en/contribute/"><strong>join us!</strong></a></p>https://guix.gnu.org/blog/2024/meet-guix-at-fosdem-2024//Guix at FOSDEM 2024Steve George2024-01-19T15:00:00Z2024-01-19T15:00:00Z It's not long to FOSDEM 2024, where Guixers will come together to learn and hack.
As usual there's some great talks and opportunities to meet other users and
contributors. FOSDEM is Europe's biggest Free Software conference.
It's aimed at developers and anyone who's interested in the Free Software
movement. While it's an in-person conference there are live video streams
and lots of ways to participate remotely. The schedule is varied with development rooms covering many interests. Here
are some of the talks that are of particular interest to Guixers: Saturday, 3rd Febuary " Making reproducible and…<p>It's not long to FOSDEM 2024, where Guixers will come together to learn and hack.
As usual there's some great talks and opportunities to meet other users and
contributors.</p><p><a href="https://fosdem.org/2024/">FOSDEM</a> is Europe's biggest Free Software conference.
It's aimed at developers and anyone who's interested in the Free Software
movement. While it's an in-person conference there are live video streams
and lots of ways to participate remotely.</p><p>The schedule is varied with development rooms covering many interests. Here
are some of the talks that are of particular interest to Guixers:</p><h3>Saturday, 3rd Febuary</h3><ul><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2651-making-reproducible-and-publishable-large-scale-hpc-experiments/">"<strong>Making reproducible and publishable large-scale HPC experiments</strong>"</a>
by Philippe Swartvagher (10:30 CET). Philippe will talk about the search for
reproducible experiments in high-performance computing (HPC) and how he uses
Guix in his methododology.</li></ul><h3>Sunday, 4th February</h3><p>The <a href="https://fosdem.org/2024/schedule/track/declarative-and-minimalistic-computing/">Declarative and Minimalistic Computing track</a>
takes place Sunday morning. Important topics are:</p><ul><li><em>Minimalism Matters</em>: sustainable computing through smaller, resource efficient systems</li><li><em>Declarative Programming</em>: reliable and reproducible systems by minimising side-effects</li></ul><p>Guix-related talks are:</p><ul><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2339-scheme-in-the-browser-with-guile-hoot-and-webassembly/">"<strong>Scheme in the Browser with Guile Hoot and WebAssembly</strong>"</a>
by Robin Templeton (11:00 CET). A talk covering bringing Scheme to WebAssembly
through the Guile Hoot toolchain. Addressing the current state of Guile Hoot
with examples, and how recent Wasm proposals might improve the
situation in the future.</li><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-1755-risc-v-bootstrapping-in-guix-and-live-bootstrap/">"<strong>RISC-V Bootstrapping in Guix and Live-Bootstrap</strong>"</a>
by Ekaitz Zarraga (11:20 CET). An update on the RISC-V bootstrapping effort
in Guix and Live-bootstrap. Covering what's been done, what's left to do and
some of the lessons learned.</li><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2560-self-hosting-and-autonomy-using-guix-forge/">"<strong>Self-hosting and autonomy using guix-forge</strong>"</a>
by Arun Isaac (11:40 CET). This talk demonstrates the value of Guix's declarative
configuration to simplify deploying and maintaining complex services. Showing
<a href="https://guix-forge.systemreboot.net/">guix-forge</a>, a project that
makes it easy to self-host an efficient software forge.</li><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2331-spritely-guile-guix-a-unified-vision-for-user-security/">"<strong>Spritely, Guile, Guix: a unified vision for user security</strong>"</a>
by Christine Lemmer-Webber (12:00 CET). Spritely's goal is to create
networked communities that puts people in control of their own identity
and security. This talk will present a unified vision of how Spritely,
Guile, and Guix can work together to bring user freedom and security to
everyone!</li></ul><p>This year the track commemorates Joe Armstrong, who was the principal
inventor of <a href="https://www.erlang.org/">Erlang</a>. His focus on concurrency,
distribution and fault-tolerence are key topics in declarative and minimalistic
computing. This <a href="https://thenewstack.io/why-erlang-joe-armstrongs-legacy-of-fault-tolerant-computing/">article</a>
is a great introduction to his legacy. Along with
<a href="https://youtu.be/lKXe3HUG2l4?si=3zbc7BEbg1o6mW5R">"<strong>The Mess We're In</strong>"</a>, a
classic where he discusses why software is getting worse with time, and what can
be done about it.</p><p>On Sunday afternoon, the <a href="https://fosdem.org/2024/schedule/track/distributions/">Distributions devroom</a>
has another Guix talk:</p><ul><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2927-supporting-architecture-psabis-with-gnu-guix/">"<strong>Supporting architecture psABIs with GNU Guix</strong>"</a>
by Efraim Flashner (14:30 CET). Guix maintainer Efraim will be giving a
talk about improving Guix's performance. Demonstrating how to use psABI
targets that keep older hardware compatible while providing optimized
libraries for newer hardware.</li></ul><h3>Guix Days (Thursday and Friday)</h3><p>Guix Days will be taking place on the Thursday and Friday before FOSDEM. This is
an <a href="https://en.wikipedia.org/wiki/Unconference">"unconference-style"</a> event,
where the community gets together to focus on Guix's development. All the
details are on the
<a href="https://libreplanet.org/wiki/Group:Guix/FOSDEM2024"><strong>Libreplanet Guix Wiki</strong></a>.</p><h3>Participating</h3><p>Come and join in the fun, whether you're a new Guix user or seasoned hacker!
If you're not in Brussels you can still take part:</p><ul><li>See the <a href="https://fosdem.org/2024/schedule/">FOSDEM Schedule</a></li><li>Watch the <a href="https://fosdem.org/2024/schedule/streaming/">live streams</a></li><li>Chat in the unofficial <a href="https://matrix.to/#/#guix-days:matrix.org">Guix Days Matrix room</a></li></ul><h3>About GNU Guix</h3><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
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, AArch64, and POWER9 machines.</p><p>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 <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2023/meet-guix-at-fosdem-2023//Meet Guix at FOSDEMLudovic Courtès2023-01-23T15:00:00Z2023-01-23T15:00:00Z GNU Guix will be present at FOSDEM next
week, February 4th and 5th. This is the first time since the pandemic
that FOSDEM takes place again “in the flesh” in Brussels, which is
exciting to those of us lucky enough to get there! Everything will be
live-streamed and recorded thanks to the amazing FOSDEM crew, so
everyone can enjoy wherever they are; some of the talks this year will
be “remote” too: pre-recorded videos followed by live Q&A sessions with
the speaker. Believe it or not, it’s the 9th year Guix is represented at
FOSDEM , with more than 30
talks given…<p>GNU Guix will be present at <a href="https://fosdem.org/2023/">FOSDEM</a> next
week, February 4th and 5th. This is the first time since the pandemic
that FOSDEM takes place again “in the flesh” in Brussels, which is
exciting to those of us lucky enough to get there! Everything will be
live-streamed and recorded thanks to the amazing FOSDEM crew, so
everyone can enjoy wherever they are; some of the talks this year will
be “remote” too: pre-recorded videos followed by live Q&A sessions with
the speaker.</p><p>Believe it or not, it’s the <a href="https://guix.gnu.org/en/blog/tags/fosdem/">9th year Guix is represented at
FOSDEM</a>, with more than 30
talks given in past editions! This year brings several talks that will let you
learn more about different areas of the joyful Hydra Guix has become.</p><p>This all starts on Saturday, in particular with the amazing <a href="https://fosdem.org/2023/schedule/track/declarative_and_minimalistic_computing/">declarative
and minimalistic computing
track</a>:</p><ul><li><a href="https://fosdem.org/2023/schedule/event/guixriscv/">“<em>Bringing RISC-V to Guix's
bootstrap</em>”</a>
(remote), as a continuation of <a href="https://fosdem.org/2022/schedule/event/riscvadventures/">last year’s
talk</a>, will
be Ekaitz Zarraga’s account of the successful port the <em>full-source
bootstrap</em> to RISC-V—no less!</li><li>In <a href="https://fosdem.org/2023/schedule/event/guixfhs/">“<em>Using GNU Guix Containers with FHS (Filesystem Hierarchy
Standard)
Support</em>”</a> (remote)
John Kehayias will present the recently-added <a href="https://guix.gnu.org/en/blog/2023/the-filesystem-hierarchy-standard-comes-to-guix-containers/"><code>guix shell --container --emulate-fhs</code></a>.</li><li><a href="https://fosdem.org/2023/schedule/event/minimalguixsystemimages/">“<em>Declaring just what is
necessary</em>”</a>
(remote) will show how to create system images that contain just
what you need, by Efraim Flashner.</li><li>In <a href="https://fosdem.org/2023/schedule/event/guixopenscience/">“<em>GNU Guix and Open Science, a
crush?</em>”</a>,
Simon Tournier will illustrates ways in which Guix can be beneficial
to “open science”.</li><li><a href="https://fosdem.org/2023/schedule/event/replicantguix/">“<em>How Replicant, a 100% free software Android distribution, uses
(or doesn't use)
Guix</em>”</a> will
showcase an unusual and exciting use case for Guix, by one of
Replicant’s core developers, Denis “GNUtoo” Carikli.</li><li><a href="https://fosdem.org/2023/schedule/event/guixhome/">“<em>An Introduction to Guix
Home</em>”</a> will be
given on Sunday (remote) by David Wilson of <a href="https://systemcrafters.net/">System
Crafters</a> fame—a must if you want to
understand this newfangled Guix Home thing!</li></ul><p>There are many other <a href="https://fosdem.org/2023/schedule/track/declarative_and_minimalistic_computing/">exciting talks in this
track</a>,
some of which closely related to Guix and Guile; check it out!</p><p>You can also discover Guix in other tracks:</p><ul><li>On Saturday, <a href="https://fosdem.org/2023/schedule/event/openresearch_guix/">“<em>Guix, toward practical transparent, verifiable and
long-term reproducible
research</em>”</a>
will be an introduction to Guix (by Simon Tournier) for an audience
of scientists interested in coming up with scientific practices that
improves verifiability and transparency.</li><li>On Saturday in the security track, <a href="https://fosdem.org/2023/schedule/event/security_where_does_that_code_come_from/"><em>“Where does that code come
from?”</em></a>
(by Ludovic Courtès) will talk Git checkout authentication in Guix
and how this fits in the broader picture of “software supply chain”
security.</li><li>On Sunday, Efraim Flashner will talk about <a href="https://fosdem.org/2023/schedule/event/rv_gnu_guix/">“<em>Porting RISC-V to
GNU Guix</em>”</a> in
the RISC-V track.</li><li>On Sunday, in the high-performance computing (HPC) track, Ludovic
Courtès will give a lightning talk about CPU tuning in Guix entitled
<a href="https://fosdem.org/2023/schedule/event/cpu_tuning_gnu_guix/">“<em>Reproducibility and performance: why
choose?</em>”</a>.</li></ul><p><img src="/static/blog/img/Guix-Days-2023.png" alt="Guix Days logo" /></p><p>As was the case pre-pandemic, we are also organizing the Guix Days as a
<a href="https://fosdem.org/2023/fringe/">FOSDEM fringe event</a>, a two-day Guix
workshop where contributors and enthusiasts will meet. The workshop
takes place on <strong>Thursday Feb. 2nd and Friday Feb. 3rd</strong> at the
<a href="https://www.openstreetmap.org/?mlat=50.85025&mlon=4.37326#map=19/50.85025/4.37326">Institute of Cultural Affairs (ICAB) in
Brussels</a>.</p><p>Again this year there will be few talks; instead, the event will
consist primarily of
“<a href="https://en.wikipedia.org/wiki/Unconference">unconference-style</a>”
sessions focused on specific hot topics about Guix, the Shepherd,
continuous integration, and related tools and workflows.</p><p>Attendance to the workshop is free and open to everyone, though you are
invited to register (there are few seats left!). Check out <a href="https://libreplanet.org/wiki/Group:Guix/FOSDEM2023">the
workshop’s wiki
page</a> for
registration and practical info. Hope to see you in Brussels!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
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, AArch64, and POWER9 machines.</p><p>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 <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2022/wrapping-up-ten-years-of-guix-in-paris//Wrapping up Ten Years of Guix in ParisLudovic Courtès, Tanguy Le Carrour, Simon Tournier2022-09-28T16:30:00Z2022-09-28T16:30:00Z Two weeks ago, some of us were in Paris, France, to celebrate ten years
of Guix ! The event included 22 talks and
12 lightning talks, covering topics ranging from reproducible research
on Friday and Guix
hacking on Saturday
and Sunday . If you couldn’t make it in Paris, and if you missed the live stream, we
have some good news: videos of the talks and supporting material are
now available from the program
page ! If you weren’t there, there are things you definitely missed though:
more than 60 participants from a diverse range of backgrounds—a…<p>Two weeks ago, some of us were in Paris, France, <a href="https://10years.guix.gnu.org">to celebrate ten years
of Guix</a>! The event included 22 talks and
12 lightning talks, covering topics ranging from reproducible research
on <a href="https://10years.guix.gnu.org/program/#Friday">Friday</a> and Guix
hacking on <a href="https://10years.guix.gnu.org/program/#Saturday">Saturday</a>
and <a href="https://10years.guix.gnu.org/program/#Sunday">Sunday</a>.</p><p>If you couldn’t make it in Paris, and if you missed the live stream, we
have some good news: videos of the talks and supporting material <a href="https://10years.guix.gnu.org/program/">are
now available from the program
page</a>!</p><p>If you weren’t there, there are things you definitely missed though:
more than 60 participants from a diverse range of backgrounds—a rare
opportunity for scientists and hackers to meet!—, impromptu discussions
and encounters, and of course not one but <em>two</em> crazy birthday cakes
(yup! on one day it was vanilla/blueberry-flavored, and on the other day
it was chocolate/passion fruit, but both were equally beautiful!).</p><p><img src="https://10years.guix.gnu.org/static/images/photos/2022_0917_15530400.small.jpg" alt="Picture of the Guix birthday cake." /></p><p>There are <a href="https://10years.guix.gnu.org/photos">a few more pictures</a> on
the web site.</p><p>It might seem a bit of a stretch at first, but there <em>is</em> a connection
between, say, <a href="https://10years.guix.gnu.org/video/reproducibility-of-bioinformatics-pipelines/">bioinformatics
pipelines</a>,
<a href="https://10years.guix.gnu.org/video/camlboot-debootstrapping-the-ocaml-compiler/">OCaml
bootstrapping</a>,
and <a href="https://10years.guix.gnu.org/video/an-introduction-to-guix-home/">Guix
Home</a>:
it’s about deploying complex software stacks in a way that is not only
convenient but also transparent and reproducible. It’s about retaining
control, both collectively and individually, over the “software supply
chain” at a time when the most popular option is to give up.</p><p>We have lots of people to thank, starting with the speakers and
participants: thanks for sharing your knowledge and enthusiasm, and
thank you for making it a warm and friendly event! Thanks to the
<a href="https://10years.guix.gnu.org/sponsors">sponsors of the event</a> without
which all this would have been impossible.</p><p>Special thanks to Nicolas Dandrimont of the Debian video team for
setting up the video equipment, tirelessly working during all three days
and even afterwards to prepare the “final cut”—you rock!! Thanks to Leo
Famulari for setting up the live streaming server on short notice, and
to Luis Felipe for designing the unanimously acclaimed Ten Years of Guix
graphics, the kakemono, and the video intros and outros (check out <a href="https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/promotional/">the
freely-licensed SVG
source</a>!),
all that under pretty tight time constraints. Thanks also to Andreas
Enge with their Guix Europe hat on for addressing last-minute hiccups
behind the scenes.</p><p>Organizing this event has certainly been exhausting, but seeing it come
true and meeting both new faces and old-timers was a great reward for
us. Despite the occasional shenanigans—delayed talks, one talk
cancellation, and worst of all: running out of coffee and tea after
lunch—we hope it was enjoyable for all.</p><p>For those in Europe, our next in-person meeting is probably going to be
FOSDEM. And maybe this will inspire some to organize events in other
regions of the world and/or on-line meetups!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
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, AArch64, and POWER9 machines.</p><p>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 <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2022/celebrating-10-years-of-guix-in-paris//Celebrating 10 years of Guix in Paris, 16–18 SeptemberLudovic Courtès, Tanguy Le Carrour, Simon Tournier2022-06-13T15:00:00Z2022-06-13T15:00:00Z It’s been ten years of
GNU Guix ! To
celebrate, and to share knowledge and enthusiasm, a birthday
event will take place on September
16–18th, 2022 , in Paris, France. The program is being finalized, but
you can already register ! Update (2022-07-12): Preliminary
program published! This is a community event with several twists to it: Friday, September 16th, is dedicated to reproducible research
workflows and high-performance computing (HPC)—the focuses of the
Guix-HPC effort. It will consist of talks
and experience reports…<p>It’s been <a href="/en/blog/2022/10-years-of-stories-behind-guix/">ten years of
GNU Guix</a>! To
celebrate, and to share knowledge and enthusiasm, a <a href="https://10years.guix.gnu.org">birthday
event</a> will take place on <strong>September
16–18th, 2022</strong>, in Paris, France. The program is being finalized, but
you can <a href="https://10years.guix.gnu.org">already register</a>!</p><blockquote><p><strong>Update</strong> (2022-07-12): <a href="https://10years.guix.gnu.org/program">Preliminary
program</a> published!</p></blockquote><p><img src="/static/blog/img/10-years-of-guix_colorful-10.gif" alt="10 year anniversary artwork" /></p><p>This is a community event with several twists to it:</p><ul><li>Friday, September 16th, is dedicated to <strong>reproducible research
workflows and high-performance computing</strong> (HPC)—the focuses of the
<a href="https://hpc.guix.info">Guix-HPC</a> effort. It will consist of talks
and experience reports by scientists and practitioners.</li><li>Saturday targets <strong>Guix and free software enthusiasts</strong>, users and
developers alike. We will reflect on ten years of Guix, show what
it has to offer, and present on-going developments and future
directions.</li><li>on Sunday, users, developers, developers-to-be, and other
contributors will <strong>discuss technical and community topics</strong> and
join forces for hacking sessions, <a href="https://en.wikipedia.org/wiki/Unconference">unconference
style</a>.</li></ul><p><a href="https://10years.guix.gnu.org">Check out the web site</a> and consider
registering as soon as possible so we can better estimate the size of
the birthday cake!</p><p>If you’re interested in presenting a topic, in facilitating a session,
or in organizing a hackathon, please get in touch with the organizers at
<code>guix-birthday-event@gnu.org</code> and we’ll be happy to make room for you.
We’re also looking for people to help with logistics, in particular
during the event; please let us know if you can give a hand.</p><p>Whether you’re a scientist, an enthusiast, or a power user, we’d love to
see you in September. Stay tuned for updates!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
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, AArch64 and POWER9 machines.</p><p>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 <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2022/meet-guix-at-fosdem-2022//Meet Guix at FOSDEMLudovic Courtès2022-02-02T15:00:00Z2022-02-02T15:00:00Z As usual, GNU Guix will be present at FOSDEM
this week-end, February 5th and 6th. Due to the pandemic, FOSDEM takes
place on-line for the second year, but we’re confident the wires will be
able carry enthusiasm to the homes of the thousands of attendees. This year’s a bit special: we’re celebrating 10 years of Guix, including
8 years sharing our excitement at
FOSDEM ! This edition will
also bring you several talks about Guix and related projects. Sunday morning, in the distributions
track ,
co-maintainer and long-time hacker Mathieu Othacehe will present
“ Unify your distributions —…<p>As usual, GNU Guix will be present at <a href="https://fosdem.org/2022/">FOSDEM</a>
this week-end, February 5th and 6th. Due to the pandemic, FOSDEM takes
place on-line for the second year, but we’re confident the wires will be
able carry enthusiasm to the homes of the thousands of attendees.</p><p>This year’s a bit special: we’re celebrating 10 years of Guix, including
<a href="https://guix.gnu.org/en/blog/tags/fosdem/">8 years sharing our excitement at
FOSDEM</a>! This edition will
also bring you several talks about Guix and related projects.</p><ul><li>Sunday morning, in the <a href="https://fosdem.org/2022/schedule/track/distributions/">distributions
track</a>,
co-maintainer and long-time hacker Mathieu Othacehe will present
<a href="https://fosdem.org/2022/schedule/event/unify_your_distributions/">“<em>Unify your distributions — How GNU Guix can run on any of your
hardware</em>”</a></li></ul><p>The other talks will take place on Sunday as well, in the now
traditional track on <a href="https://fosdem.org/2022/schedule/track/declarative_and_minimalistic_computing/">declarative and minimalistic
computing</a>:</p><ul><li><a href="https://fosdem.org/2022/schedule/event/riscvadventures/">“<em>A year of RISC-V adventures: embracing chaos in your software
journey</em>”</a>
will be Ekaitz Zarraga’s account of the work porting
GNU Guile, stage0, and GNU Mes to RISC-V, which will be instrumental
in improving the RISC-V port of Guix.</li><li>With <a href="https://fosdem.org/2022/schedule/event/guixdeclare/"><em>“Declare All Your Needs — Managing computing environment
declaratively using
GNU Guix”</em></a>,
Andrew Tropin will show how you can declare your whole computing
environment using <a href="https://guix.gnu.org/manual/devel/en/html_node/System-Configuration.html">Guix
System</a>,
<a href="https://guix.gnu.org/manual/devel/en/html_node/Home-Configuration.html">Guix
Home</a>,
and <a href="https://git.sr.ht/~abcdw/rde/">rde</a>.</li><li>In <a href="https://fosdem.org/2022/schedule/event/gnuguixci/">“<em>GNU Guix behind the scene — Continuous integration for the
GNU Guix
project</em>”</a>,
Mathieu Othacehe will show what’s happening in the backyard of
<a href="https://ci.guix.gnu.org">Guix’s build farm</a>.</li><li><a href="https://fosdem.org/2022/schedule/event/commonworkflowlang/">“<em>Concise Common Workflow Language — Concision and elegance in a
workflow language using
Lisp</em>”</a>
will be Arun Isaac presenting <a href="https://hpc.guix.info/blog/2022/01/ccwl-for-concise-and-painless-cwl-workflows/">the all new
ccwl</a>, a
Guile domain-specific language (DSL) to define scientific workflows.</li></ul><p>But let’s be clear: there are other <a href="https://fosdem.org/2022/schedule/track/declarative_and_minimalistic_computing/">exciting talks in this
track</a>,
some of which closely related to Guix and Guile, so do not miss out!</p><p><img src="/static/blog/img/Guix-Days-online-2022.png" alt="Guix Days logo" /></p><p>As in previous years, we are also organizing a <a href="https://guix.gnu.org/en/blog/2022/online-guix-days-2022-announcement-1/">two-day on-line
event</a>
two weeks after FOSDEM. If you’d like to share what you’ve done with
Guix or in Guix, if you have packaging stories from the trenches,
there’s <em>one week left to submit a talk</em>. At any rate, whether you’re
simply curious about Guix or whether you’re already deep into, we hope
to see you on February, 19–20!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
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, AArch64 and POWER9 machines.</p><p>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 <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2021/reproducible-data-processing-pipelines//Reproducible data processing pipelinesLudovic Courtès2021-06-11T17:00:00Z2021-06-11T17:00:00Z Last week, we at Guix-HPC published videos of
a workshop on reproducible software
environments
we organized on-line. The videos are well worth watching—especially if
you’re into reproducible research, and especially if you speak French or
want to practice. This post, though, is more of a meta-post: it’s about
how we processed these videos. “A workshop on reproducibility ought to
have a reproducible video pipeline”, we thought. So this is what we
did ! From BigBlueButton to WebM Over the last year and half, perhaps you had the “opportunity” to
participate in an on-line conference,…<p>Last week, <a href="https://hpc.guix.info">we at Guix-HPC</a> published <a href="https://hpc.guix.info/events/2021/atelier-reproductibilit%C3%A9-environnements/">videos of
a workshop on reproducible software
environments</a>
we organized on-line. The videos are well worth watching—especially if
you’re into reproducible research, and especially if you speak French or
want to practice. This post, though, is more of a meta-post: it’s about
how we processed these videos. “A workshop on reproducibility <em>ought to
have</em> a reproducible video pipeline”, we thought. So this is what we
<a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/master/doc/atelier-reproductibilit%C3%A9/render-videos.scm">did</a>!</p><h1>From BigBlueButton to WebM</h1><p>Over the last year and half, perhaps you had the “opportunity” to
participate in an on-line conference, or even to organize one. If so,
chances are that you already know
<a href="https://bigbluebutton.org/">BigBlueButton</a> (BBB), the free software
video conferencing suite initially designed for on-line teaching. In a
nutshell, it allows participants to chat (audio, video, and keyboard),
and speakers can share their screen or a PDF slide deck. Organizers can
also record the session.</p><p>BBB then creates a link to recorded sessions with a custom JavaScript
player that replays everything: typed chat, audio and video (webcams),
shared screens, and slide decks. This BBB replay a bit too rough though
and often not the thing you’d like to publish after the conference.
Instead, you’d rather do a bit of editing: adjusting the start and end
time of each talk, removing live chat from what’s displayed (which
allows you to remove info that personally identifies participants,
too!), and so forth. Turns out this kind of post-processing is a bit of
work, primarily because BBB does “the right thing” of recording each
stream separately, in the most appropriate form: webcam and screen
shares are recorded as separate videos, chat is recorded as text with
timings, slide decks is recorded as a bunch of PNGs plus timings, and
then there’s a bunch of XML files with metadata putting it all together.</p><p>Anyway, with a bit of searching, we quickly found the handy
<a href="https://github.com/plugorgau/bbb-render">bbb-render</a> tool, which can
first
<a href="https://github.com/plugorgau/bbb-render/blob/master/download.py">download</a>
all these files and then
<a href="https://github.com/plugorgau/bbb-render/blob/master/make-xges.py">assemble</a>
them using the Python interface to the <a href="https://gstreamer.freedesktop.org/documentation/gst-editing-services/index.html">GStreamer Editing Services
(GES)</a>.
Good thing: we don’t have to figure out all these things; we “just” have
to run these two scripts in an environment with the right dependencies.
And guess what: we know of a great tool to control execution
environments!</p><h1>A “deployment-aware Makefile”</h1><p>So we have a process that takes input files—those PNGs, videos, and XML
files—and produces output files—WebM video files. As developers we
immediately recognize a pattern and the timeless tool to deal with it:
<a href="https://www.gnu.org/software/make"><code>make</code></a>. The web already seems to
contain countless BBB post-processing makefiles (and shell scripts,
too). We were going to contribute to this while we suddenly realized
that we know of <em>another</em> great tool to express such processes: Guix!
Bonus: while a makefile would address just the tip of the
iceberg—running bbb-render—Guix can also take care of the tedious task
of deploying the <em>right</em> environment to run bbb-render in.</p><p>What we did was to write some sort of a <em>deployment-aware makefile</em>.
It’s still a relatively unconventional way to use Guix, but one that’s
very convenient. We’re talking about videos, but really, you could use
the same approach for any kind of processing graph where you’d be
tempted to just use <code>make</code>.</p><p>The end result here is a <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm">Guix
file</a>
that returns a <em>manifest</em>—a list of videos to “build”. You can build
the videos with:</p><pre><code>guix build -m render-videos.scm</code></pre><p>Overall, the file defines a bunch of functions (<em>procedures</em> in
traditional Scheme parlance), each of which takes input files and
produces output files. More accurately, these functions returns objects
that <em>describe</em> how to build their output from the input files—similar
to how a <a href="https://www.gnu.org/software/make/manual/html_node/Rule-Introduction.html">makefile
rule</a>
describes how to build its target(s) from its prerequisite(s). (The
reader familiar with functional programming may recognize a monad here,
and indeed, those build descriptions can be thought of as monadic values
in a hypothetical “Guix build” monad; technically though, they’re
regular Scheme values.)</p><p>Let’s take a guided tour of this 300-line file.</p><h1>Rendering</h1><p>The <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L23-75">first
step</a>
in this file describes where bbb-render can be found and how to run it
to produce a GES “project” file, which we’ll use later to render the
video:</p><pre><code class="language-scheme">(define bbb-render
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/plugorgau/bbb-render")
(commit "a3c10518aedc1bd9e2b71a4af54903adf1d972e5")))
(file-name "bbb-render-checkout")
(sha256
(base32 "1sf99xp334aa0qgp99byvh8k39kc88al8l2wy77zx7fyvknxjy98"))))
(define rendering-profile
(profile
(content (specifications->manifest
'("gstreamer" "gst-editing-services" "gobject-introspection"
"gst-plugins-base" "gst-plugins-good"
"python-wrapper" "python-pygobject" "python-intervaltree")))))
(define* (video-ges-project bbb-data start end
#:key (webcam-size 25))
"Return a GStreamer Editing Services (GES) project for the video,
starting at START seconds and ending at END seconds. BBB-DATA is the raw
BigBlueButton directory as fetched by bbb-render's 'download.py' script.
WEBCAM-SIZE is the percentage of the screen occupied by the webcam."
(computed-file "video.ges"
(with-extensions (list (specification->package "guile-gcrypt"))
(with-imported-modules (source-module-closure
'((guix build utils)
(guix profiles)))
#~(begin
(use-modules (guix build utils) (guix profiles)
(guix search-paths) (ice-9 match))
(define search-paths
(profile-search-paths #+rendering-profile))
(for-each (match-lambda
((spec . value)
(setenv
(search-path-specification-variable
spec)
value)))
search-paths)
(invoke "python"
#+(file-append bbb-render "/make-xges.py")
#+bbb-data #$output
"--start" #$(number->string start)
"--end" #$(number->string end)
"--webcam-size"
#$(number->string webcam-size)))))))</code></pre><p>First it defines the source code location of bbb-render as an
<a href="https://guix.gnu.org/manual/en/html_node/origin-Reference.html">“origin”</a>.
Second, it defines <code>rendering-profile</code> as a
<a href="https://guix.gnu.org/manual/en/html_node/Getting-Started.html#index-profile">“profile”</a>
containing all the packages needed to run bbb-render’s <code>make-xges.py</code>
script. The <code>specification->manifest</code> procedure creates a <em>manifest</em>
from a set of packages specs, and likewise <code>specification->package</code>
returns the package that matches a given spec. You can try these things at
the <a href="https://guix.gnu.org/manual/en/html_node/Invoking-guix-repl.html"><code>guix repl</code></a>
prompt:</p><pre><code>$ guix repl
GNU Guile 3.0.7
Copyright (C) 1995-2021 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guix-user)> ,use(guix profiles)
scheme@(guix-user)> ,use(gnu)
scheme@(guix-user)> (specification->package "guile@2.0")
$1 = #<package guile@2.0.14 gnu/packages/guile.scm:139 7f416be776e0>
scheme@(guix-user)> (specifications->manifest '("guile" "gstreamer" "python"))
$2 = #<<manifest> entries: (#<<manifest-entry> name: "guile" version: "3.0.7" …> #<<manifest-entry> name: "gstreamer" version: "1.18.2" …> …)</code></pre><p>Last, it defines <code>video-ges-project</code> as a function that takes the BBB
raw data, a start and end time, and produces a <code>video.ges</code> file. There
are three key elements here:</p><ol><li><a href="https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html#index-computed_002dfile"><code>computed-file</code></a>
is a function to produce a file, <code>video.ges</code> in this case, by
running the code you give it as its second argument—the <em>recipe</em>,
in makefile terms.</li><li>The recipe passed to <code>computed-file</code> is a
<a href="https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html"><em>G-expression</em></a>
(or “gexp”), introduced by this fancy <code>#~</code> (hash tilde) notation.
G-expressions are a way to <em>stage</em> code, to mark it for eventual
execution. Indeed, that code will only be executed if and when we
run <code>guix build</code> (without <code>--dry-run</code>), and only if the result is
not already in <a href="https://guix.gnu.org/manual/en/html_node/The-Store.html">the
store</a>.</li><li>The gexp refers to <code>rendering-profile</code>, to <code>bbb-render</code>, to
<code>bbb-data</code> and so on by <em>escaping</em> with the <code>#+</code> or <code>#$</code> syntax
(they’re equivalent, unless doing cross-compilation). During
build, these reference items in the store, such as
<code>/gnu/store/…-bbb-render</code>, which is itself the result of “building”
the origin we’ve seen above. The <code>#$output</code> reference corresponds
to the build result of this <code>computed-file</code>, the complete file name
of <code>video.ges</code> under <code>/gnu/store</code>.</li></ol><p>That’s quite a lot already! Of course, this real-world example is
more intimidating than the toy examples you’d find in the manual, but
really, pretty much everything’s there. Let’s see in more detail at
what’s inside this gexp.</p><p>The gexp first imports a bunch of helper modules with <a href="https://guix.gnu.org/manual/en/html_node/Build-Utilities.html">build
utilities</a>
and tools to manipulate profiles and search path environment variables.
The <code>for-each</code> call iterates over search path environment
variables—<code>PATH</code>, <code>PYTHONPATH</code>, and so on—, setting them so that the
<code>python</code> command is found and so that the needed Python modules are
found.</p><p>The <code>with-imported-modules</code> form above indicates that the <code>(guix build utils)</code> and <code>(guix profiles)</code> modules, which are part of Guix, along
with their dependencies (their <em>closure</em>), need to be imported in the
build environment. What about <code>with-extensions</code>? Those <code>(guix …)</code>
module indirectly depend on additional modules, provided by the
<code>guile-gcrypt</code> package, hence this spec.</p><p>Next comes the
<a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L77-106"><code>ges->webm</code></a>
function which, as the name implies, takes a <code>.ges</code> file and produces a
WebM video file by invoking <code>ges-launch-1.0</code>. The end result is a video
containing the recording’s audio, the webcam and screen share (or slide
deck), but not the chat.</p><h1>Opening and closing</h1><p>We have a WebM video, so we’re pretty much done, right? But… we’d also
like to have an opening, showing the talk title and the speaker’s name,
as well as a closing. How do we get that done?</p><p>Perhaps a bit of a sledgehammer, but it turns out that we chose to
produce those still images with LaTeX/Beamer, from
<a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/opening.tex">these</a>
<a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/closing.tex">templates</a>.</p><p>We need again several processing steps:</p><ol><li>We first define the
<a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L140-166"><code>latex->pdf</code></a>
function that takes a template <code>.tex</code> file, a speaker name and
title. It copies the template, replaces placeholders with the
speaker name and title, and runs <code>pdflatex</code> to produce the PDF.</li><li>The
<a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L168-175"><code>pdf->bitmap</code></a>
function takes a PDF and returns a suitably-sized JPEG.</li><li><a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L177-200"><code>image->webm</code></a>
takes that JPEG and invokes <code>ffmpeg</code> to render it as WebM, with the
right resolution, frame rate, and audio track.</li></ol><p>With that in place, we define a sweet and small function that produces
the opening WebM file for a given talk:</p><pre><code class="language-scheme">(define (opening title speaker)
(image->webm
(pdf->bitmap (latex->pdf (local-file "opening.tex") "opening.pdf"
#:title title #:speaker speaker)
"opening.jpg")
"opening.webm" #:duration 5))</code></pre><p>We need one last function,
<a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L216-236"><code>video-with-opening/closing</code></a>,
that given a talk, an opening, and a closing, concatenates them by
invoking <code>ffmpeg</code>.</p><h1>Putting it all together</h1><p>Now we have all the building blocks!</p><p>We use
<a href="https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html#index-local_002dfile"><code>local-file</code></a>
to refer to the raw BBB data, taken from disk:</p><pre><code class="language-scheme">(define raw-bbb-data/monday
;; The raw BigBlueButton data as returned by './download.py URL', where
;; 'download.py' is part of bbb-render.
(local-file "bbb-video-data.monday" "bbb-video-data"
#:recursive? #t))
(define raw-bbb-data/tuesday
(local-file "bbb-video-data.tuesday" "bbb-video-data"
#:recursive? #t))</code></pre><p>No, the raw data is not in the Git repository (it’s too big and contains
personally-identifying information about participants), so this assumes
that there’s a <code>bbb-video-data.monday</code> and a <code>bbb-video-data.tuesday</code> in
the same directory as <code>render-videos.scm</code>.</p><p>For good measure, we define a
<a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L243-251"><code><talk></code></a>
data type:</p><pre><code class="language-scheme">(define-record-type <talk>
(talk title speaker start end cam-size data)
talk?
(title talk-title)
(speaker talk-speaker)
(start talk-start) ;start time in seconds
(end talk-end) ;end time
(cam-size talk-webcam-size) ;percentage used for the webcam
(data talk-bbb-data)) ;BigBlueButton data</code></pre><p>… such that we can easily <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L263-288">define
talks</a>,
along with
<a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L297-311"><code>talk->video</code></a>,
which takes a talk and return a complete, final video:</p><pre><code class="language-scheme">(define (talk->video talk)
"Given a talk, return a complete video, with opening and closing."
(define file-name
(string-append (canonicalize-string (talk-speaker talk))
".webm"))
(let ((raw (ges->webm (video-ges-project (talk-bbb-data talk)
(talk-start talk)
(talk-end talk)
#:webcam-size
(talk-webcam-size talk))
file-name))
(opening (opening (talk-title talk) (talk-speaker talk))))
(video-with-opening/closing file-name raw
opening closing.webm)))</code></pre><p>The <a href="https://gitlab.inria.fr/guix-hpc/website/-/blob/6977da4618814c790e767618da5cf9ec2cab0742/doc/atelier-reproductibilit%C3%A9/render-videos.scm#L313-319">very last
bit</a>
iterates over the talks and returns a manifest containing all the final
videos. Now we can build the ready-to-be-published videos, all at once:</p><pre><code>$ guix build -m render-videos.scm
[… time passes…]
/gnu/store/…-emmanuel-agullo.webm
/gnu/store/…-francois-rue.webm
…</code></pre><p><a href="https://hpc.guix.info/events/2021/atelier-reproductibilité-environnements/">Voilà!</a></p><p><img src="/static/blog/img/2021-video-tv-screen.png" alt="Image of an old TV screen showing a video opening." /></p><h1>Why all the fuss?</h1><p>OK, maybe you’re thinking “this is just another hackish script to fiddle
with videos”, and that’s right! It’s also worth mentioning another
approach: <a href="https://lang.video/">Racket’s video language</a>, which is
designed to manipulate video abstractions, similar to GES but with a
sweet high-level functional interface.</p><p>But look, this one’s different: it’s
self-contained, it’s reproducible, and it has the right abstraction
level. Self-contained is a big thing; it means you can run it and it
knows what software to deploy, what environment variables to set, and so
on, for each step of the pipeline. Granted, it could be simplified with
appropriate high-level interfaces in Guix. But remember: the
alternative is a makefile (“deployment-unaware”) completed by a <code>README</code>
file giving a vague idea of the dependencies needed. The reproducible
bit is pretty nice too (especially for a workshop <em>on</em> reproducibility).
It also means there’s caching: videos or intermediate byproducts already
in the store don’t need to be recomputed. Last, we have access to a
general-purpose programming language where we can <em>build abstractions</em>,
such as the <code><talk></code> data type, that makes the whole thing more pleasant
to work with and more maintainable.</p><p>Hopefully that’ll inspire you to have a reproducible video pipeline for
your next on-line event, or maybe that’ll inspire you to replace your
old makefile and shelly habits for data processing!</p><p>High-performance computing (HPC) people might be wondering how to go
from here and build “computing-resource-aware” or
“storage-resource-aware” pipelines where each computing step could be
submitted to the job scheduler of an HPC cluster and use distributed
file systems for intermediate results rather than <code>/gnu/store</code>. If
you’re one of these folks, do take a look at how the <a href="https://guixwl.org/">Guix Workflow
Language</a> addresses these issues.</p><h1>Acknowledgments</h1><p>Thanks to Konrad Hinsen for valuable feedback on an earlier draft.</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
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, AArch64 and POWER9 machines.</p><p>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 <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2021/meet-guix-at-fosdem-2021//Meet Guix at FOSDEMLudovic Courtès2021-02-02T15:00:00Z2021-02-02T15:00:00Z As usual, GNU Guix will be present at FOSDEM
on February 6th and 7th. Due to the pandemic, this year’s edition takes
place on-line. The downside is that we’ll miss beautiful Brussels, but
on the up side hopefully people who cannot join physically will be able
to attend this year, and the event’s carbon footprint will be much
lower. We’re happy to say that there will be several talks about Guix and
related projects! Saturday afternoon, Guix Workflow Language — Extending a
reproducible software deployment system for
HPC by
Ricardo Wurmus, in the high-performance computing (HPC)
track…<p>As usual, GNU Guix will be present at <a href="https://fosdem.org/2021/">FOSDEM</a>
on February 6th and 7th. Due to the pandemic, this year’s edition takes
place on-line. The downside is that we’ll miss beautiful Brussels, but
on the up side hopefully people who cannot join physically will be able
to attend this year, and the event’s carbon footprint will be much
lower.</p><p>We’re happy to say that there will be several talks about Guix and
related projects!</p><ul><li>Saturday afternoon, <a href="https://fosdem.org/2021/schedule/event/guix_workflow/"><em>Guix Workflow Language — Extending a
reproducible software deployment system for
HPC</em></a> by
Ricardo Wurmus, in the <a href="https://fosdem.org/2021/schedule/track/hpc_big_data_and_data_science/">high-performance computing (HPC)
track</a>,
will introduce the <a href="https://workflows.guix.info/">Guix Workflow
Language</a> and discuss the state of
workflow languages.</li></ul><p>Sunday, the <a href="https://fosdem.org/2021/schedule/track/declarative_and_minimalistic_computing/">Declarative and Minimalistic Computing
track</a>
will be home to several Guix talks:</p><ul><li>Around noon, <a href="https://fosdem.org/2021/schedule/event/gnumes/"><em>GNU Mes: the Full Source Bootstrap — The missing link
between stage0/M2-Planet and
Mes</em></a> by Jan
“janneke” Nieuwenhuizen will present the latest advances in
<a href="https://guix.gnu.org/en/blog/tags/bootstrapping/">bootstrapping</a>:
building the root of the Guix package collection <em>entirely from
source</em>!</li><li>Early in the afternoon, <a href="https://fosdem.org/2021/schedule/event/gnuguix/"><em>Declaratively yours — Composing system
abstractions with
GNU Guix</em></a> by
Ludovic Courtès will present how Guix takes advantage of its
declarative structure, showcasing concrete examples.</li><li><a href="https://fosdem.org/2021/schedule/event/minimalismguix/"><em>Is GNU Guix a minimal distribution, and what might that even
mean?</em></a> by
Christopher Baines will reflect on what minimalism means for
distributions and how it might apply to Guix.</li></ul><p>Do not miss all the other <a href="https://fosdem.org/2021/schedule/track/declarative_and_minimalistic_computing/">exciting talks in this
track</a>,
some by Guile and Guix hackers!</p><p>For the fourth time, we are also organizing a <a href="https://fosdem.org/2021/fringe/">FOSDEM fringe
event</a> on Monday, February 8th, a
<strong>one-day Guix workshop</strong> where contributors and enthusiasts will meet,
on-line. Being an on-line event, we hope to attract people (maybe you?)
who wouldn’t have come to the in-person meeting but will be happy to
learn about what’s cooking in Guix and share their experience, needs,
and ideas.</p><p>Again this year there will be few talks; instead, the event will
consist primarily of
“<a href="https://en.wikipedia.org/wiki/Unconference">unconference-style</a>”
sessions focused on specific hot topics about Guix, the Shepherd,
continuous integration, and related tools and workflows.</p><p>Attendance to the workshop is free and open to everyone, though you are
invited to register (there are only a few seats left!). Join <a href="https://guixbbb.fosshost.org">our
BigBlueButton instance</a> on Monday 8th, and
check out <a href="https://libreplanet.org/wiki/Group:Guix/FOSDEM2021">the workshop’s wiki
page</a> for practical
info. Hope to see you on-line!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
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.</p><p>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 <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2020/meet-guix-at-fosdem-2020//Meet Guix at FOSDEMManolis Ragkousis2020-01-10T14:30:00Z2020-01-10T14:30:00Z As usual, GNU Guix will be present at FOSDEM
on February 1st and 2nd. This year, we’re happy to say that there will
be quite a few talks about Guix and related projects! On Saturday afternoon, Guix: Unifying provisioning, deployment, and
package management in the age of
containers by Ludovic
in the main track on containers and
security ,
will reflect on what GNU Guix
has to offer to users and how it compares to other approaches—from
CONDA and pip to Flatpak and Docker. Sunday morning starts with Efraim talking in the Rust devroom about
Packaging Rust…<p>As usual, GNU Guix will be present at <a href="https://fosdem.org/2020/">FOSDEM</a>
on February 1st and 2nd. This year, we’re happy to say that there will
be quite a few talks about Guix and related projects!</p><ul><li>On Saturday afternoon, <a href="https://fosdem.org/2020/schedule/event/guix/"><em>Guix: Unifying provisioning, deployment, and
package management in the age of
containers</em></a> by Ludovic
in the <a href="https://fosdem.org/2020/schedule/track/containers_and_security/">main track on containers and
security</a>,
will reflect on what GNU Guix
has to offer to users and how it compares to other approaches—from
CONDA and pip to Flatpak and Docker.</li><li>Sunday morning starts with Efraim talking in the Rust devroom about
<a href="https://fosdem.org/2020/schedule/event/rust_packaging_gnu_guix/"><em>Packaging Rust programs in
GNU Guix</em></a>—telling
Rust programmers about the needs of a distro like Guix, and about the
journey building infrastructure for Rust packages in Guix.</li><li>Next up is <a href="https://fosdem.org/2020/schedule/event/ggaaattyp/"><em>GNU Guix as an alternative to the
Yocto Project</em></a> by
Mathieu in the Distributions devroom will demonstrate how to use
GNU Guix to build a root filesystem for an embedded device.</li><li>Later on in the HPC, Big Data, and Data Science devroom, Ludovic will
present <a href="https://fosdem.org/2020/schedule/event/reprod_jupyter_guix/"><em>Towards reproducible Jupyter
notebooks</em></a>
which will talk about
<a href="https://hpc.guix.info/blog/2019/10/towards-reproducible-jupyter-notebooks/">Guix-Jupyter</a>,
which aims to make Jupyter
notebook self-contained and to support reproducible deployment.</li><li>In the same devroom, Efraim will present <a href="https://fosdem.org/2020/schedule/event/reprod_container/"><em>Sharing Reproducible Results
in a
Container</em></a>
about how Guix solves the issue of reproducibility and deployment of
containers.</li><li>Finally in the Minimalistic, Experimental and Emerging Languages
devroom, janneke with <a href="https://fosdem.org/2020/schedule/event/gnumes/"><em>GNU Mes, Scheme-only bootstrap and
beyond</em></a> will report
on three years of hard work tackling one of the most pressing
security issues of operating systems—the “trusting trust” attack.
Janneke will present exciting bootstrapping achievements and their
integration in Guix.</li><li>Pierre will present <a href="https://fosdem.org/2020/schedule/event/gnuguixpackagemanager/"><em>Universal package & service discovery with
Guix</em></a>
on how he intends to leverage the Guile programming language to boost
searchability of packages and services <em>via</em> intuitive user interfaces
and semantics.</li><li>Pjotr will talk about why minimalism matters in computing with <a href="https://fosdem.org/2020/schedule/event/lispeverywhere/"><em>Lisp
everywhere!</em></a></li><li>Andy will discuss all the work that has gone into the upcoming
<a href="https://www.gnu.org/software/guile/news">Guile 3</a>—which will soon
power Guix—making it a faster implementation, with <a href="https://fosdem.org/2020/schedule/event/guile2020/"><em>Celebrating
Guile 2020</em></a>.</li><li>Last, Chris Marusich will give an <a href="https://fosdem.org/2020/schedule/event/gexpressionsguile"><em>Introduction to
G-Expressions</em></a>,
the magic behind
<a href="https://guix.gnu.org/manual/devel/en/html_node/G_002dExpressions.html">them</a>,
and how to use them in Guix.</li></ul><p>The <a href="https://fosdem.org/2020/schedule/track/minimalistic_experimental_and_emerging_languages/">Minimalistic, Experimental and Emerging Languages
devroom</a>
will also feature talks about about <a href="https://racket-lang.org">Racket</a>,
<a href="https://www.lua.org/">Lua</a>, <a href="https://crystal-lang.org/">Crystal</a>,
<a href="https://nim-lang.org/">Nim</a>, and <a href="https://pharo.org/">Pharo</a>
that you should not miss under any circumstances!</p><p><img src="https://guix.gnu.org/static/blog/img/Guix-Days-2020.png" alt="Guix Days logo." /></p><p>For the third time, we are also organizing the Guix Days as a <a href="https://fosdem.org/2020/fringe/">FOSDEM
fringe event</a>, a two-day Guix workshop
where contributors and enthusiasts will meet. The workshop takes place
on Thursday Jan. 30st and Friday Jan. 31st at the Institute of Cultural
Affairs (ICAB) in Brussels.</p><p>Again this year there will be few talks; instead, the event will
consist primarily of
“<a href="https://en.wikipedia.org/wiki/Unconference">unconference-style</a>”
sessions focused on specific hot topics about Guix, the Shepherd,
continuous integration, and related tools and workflows.</p><p>Attendance to the workshop is free and open to everyone, though you are
invited to register (there are only a few seats left!). Check out <a href="https://libreplanet.org/wiki/Group:Guix/FOSDEM2020">the
workshop’s wiki
page</a> for
registration and practical info. Hope to see you in Brussels!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the kernel Linux, or it
can be used as a standalone operating system distribution for i686,
x86_64, ARMv7, and AArch64 machines.</p><p>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 <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2019/meet-guix-at-fosdem-2019//Meet Guix at FOSDEMLudovic Courtès2019-01-28T12:00:00Z2019-01-28T12:00:00Z As usual, GNU Guix will be present at FOSDEM
in the coming days with a couple of talks: Saturday afternoon, Building a whole distro on top of a
minimalistic
language
will present to the minimalist languages
track
audience how Scheme, rather than “piling feature on top of feature”,
provides the fundamental tools that have allowed us to build a wide
range of operating system features on top of it. In the same track, GNU Mes—Reduced binary seed bootstrap for
Guix will report
on two years of hard work tackling one of the most pressing security
issues…<p>As usual, GNU Guix will be present at <a href="https://fosdem.org/2019/">FOSDEM</a>
in the coming days with a couple of talks:</p><ul><li>Saturday afternoon, <a href="https://fosdem.org/2019/schedule/event/gnuguixminimalism/"><em>Building a whole distro on top of a
minimalistic
language</em></a>
will present to the <a href="https://fosdem.org/2019/schedule/track/minimalistic_languages/">minimalist languages
track</a>
audience how Scheme, rather than “piling feature on top of feature”,
provides the fundamental tools that have allowed us to build a wide
range of operating system features on top of it.</li><li>In the same track, <a href="https://fosdem.org/2019/schedule/event/gnumes/"><em>GNU Mes—Reduced binary seed bootstrap for
Guix</em></a> will report
on two years of hard work tackling one of the most pressing security
issues of operating systems—the <a href="https://en.wikipedia.org/wiki/Backdoor_(computing)#Compiler_backdoors">“trusting trust”
attack</a>.
Janneke will present exciting <a href="https://bootstrappable.org">bootstrapping
achievements</a> and their integration in
Guix.</li><li>Ricardo <a href="https://fosdem.org/2019/schedule/event/guixinfra/">will present the GNU Guix Workflow
Language</a> in the
same track—on the benefits of having reproducible software
deployment built into a scientific workflow execution engine.</li><li>On Sunday afternoon (don’t rush to the train station yet!),
<a href="https://fosdem.org/2019/schedule/event/gnu_guix_new_approach_to_software_distribution/"><em>GNU Guix’s take on a new approach to software
distribution</em></a>
will present to <a href="https://fosdem.org/2019/schedule/track/distributions/">fellow distro
hackers</a> how
Guix differs from “traditional distros” and how it tries to make
popular ad-hoc software deployment tools (pip, VirtualEnv, Cabal,
but also Flatplak, Docker—you name it) less appealing than its
integrated solutions.</li></ul><p>The <a href="https://fosdem.org/2019/schedule/event/gnuguixminimalism/">minimalist languages
track</a> will
also feature talks about <a href="https://gnu.org/s/guile">GNU Guile</a> and about
<a href="https://racket-lang.org">Racket</a> that you should not miss under any
circumstances!</p><p><img src="https://www.gnu.org/software/guix/static/blog/img/Guix-Days-2019.png" alt="Guix Days logo." /></p><p>For the second time, we are also organizing the Guix Days as a <a href="https://fosdem.org/2019/fringe/">FOSDEM
fringe event</a>, a two-day Guix workshop
where contributors and enthusiasts will meet. The workshop takes place
on Thursday Jan. 31st and Friday Feb. 1st at the Institute of Cultural
Affairs (ICAB) in Brussels.</p><p>This year there will be few talks; instead, the event will consist
primarily of
“<a href="https://en.wikipedia.org/wiki/Unconference">unconference-style</a>”
sessions focused on specific hot topics about Guix, the Shepherd,
continuous integration, and related tools and workflows. We are also
happy to welcome fellow <a href="https://nixos.org/nix/">Nix</a> hackers, which
should allow us to develop cross-distro cooperation.</p><p>Attendance to the workshop is free and open to everyone, though you are
invited to register (there are only a few seats left!). Check out <a href="https://libreplanet.org/wiki/Group:Guix/FOSDEM2019">the
workshop’s wiki
page</a> for
registration and practical info. Hope to see you in Brussels!</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the kernel Linux, or it
can be used as a standalone operating system distribution for i686,
x86_64, ARMv7, and AArch64 machines.</p><p>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 <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2018/back-from-seagl-2018//Back from SeaGL 2018Chris Marusich2018-12-10T00:00:00-08002018-12-10T00:00:00-0800 SeaGL 2018 has concluded. Thank you to everyone in the local Seattle
community who came to participate! As previously announced , Chris Marusich gave a talk introducing GNU Guix to people of all experience levels. Some very Guixy swag was handed out, including printed copies of this handy Guix reference card . The room was packed, the audience asked great questions,
and overall it was tons of fun! If you weren't able to come to SeaGL this year, that's OK!
You can watch a video of the talk…<p><a href="https://seagl.org/">SeaGL 2018</a> has concluded. Thank you to everyone in the local Seattle
community who came to participate!</p><p>As <a href="/blog/2018/upcoming-talk-everyday-use-of-gnu-guix">previously announced</a>, Chris Marusich gave <a href="https://osem.seagl.org/conferences/seagl2018/program/proposals/526">a talk introducing GNU Guix</a> to people of all experience levels. Some very <em>Guixy</em> swag was handed out, including printed copies of <a href="/guix-refcard.pdf">this handy Guix reference card</a>. The room was packed, the audience asked great questions,
and overall it was tons of fun!</p><p>If you weren't able to come to SeaGL this year, that's OK!
You can watch a video of the talk below. Happy hacking!</p><h3>Everyday Use of GNU Guix</h3><video src="https://audio-video.gnu.org/video/misc/2018-11__Everyday_use_of_GNU_Guix__Chris_Marusich__SeaGL.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://media.marusich.info/everyday-use-of-gnu-guix-chris-marusich-seagl-2018.webm">DOWNLOAD VIDEO</a><p>(WebM, 50 minutes)</p></div></video><ul><li>Speaker: Chris Marusich</li><li>Slides: <a href="https://media.marusich.info/everyday-use-of-gnu-guix.odp">everyday-use-of-gnu-guix.odp</a></li><li>License (for both slides and video): <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC-BY-SA 4.0</a></li></ul>https://guix.gnu.org/blog/2018/upcoming-talk-everyday-use-of-gnu-guix//Upcoming Talk: "Everyday Use of GNU Guix"Chris Marusich2018-09-29T17:00:00Z2018-09-29T17:00:00Z At SeaGL 2018, Chris Marusich will present a
talk introducing GNU Guix to people of all skill levels and
backgrounds. SeaGL is an annual GNU/Linux conference in
Seattle . Attendance is
gratis. If you're in the Seattle area, please consider coming! Even if you
can't make it in person, the talk will be recorded and later made
available on the SeaGL website, so you can watch it at your
convenience after it's been uploaded. Abstract Everyday Use of GNU
Guix In this talk, I will introduce GNU Guix: a liberating, dependable, and
hackable package manager…<p>At <a href="https://seagl.org/">SeaGL</a> 2018, Chris Marusich will present a
talk introducing GNU Guix to people of all skill levels and
backgrounds. SeaGL is an annual GNU/Linux conference in
<a href="https://en.wikipedia.org/wiki/Seattle">Seattle</a>. Attendance is
gratis.</p><p>If you're in the Seattle area, please consider coming! Even if you
can't make it in person, the talk will be recorded and later made
available on the SeaGL website, so you can watch it at your
convenience after it's been uploaded.</p><h1>Abstract</h1><p><a href="https://osem.seagl.org/conferences/seagl2018/program/proposals/526">Everyday Use of GNU
Guix</a></p><p>In this talk, I will introduce GNU Guix: a liberating, dependable, and
hackable package manager that follows the "purely functional software
deployment model" pioneered by Nix.</p><p>I will demonstrate some common use cases of Guix and show you how I
use it in my everyday life. In addition, I will briefly explain the
basic idea behind the functional model and how it enables Guix to
provide useful features like the following:</p><ul><li>Transactional upgrades and roll-back of installed software.</li><li>Unprivileged users can simultaneously install multiple versions of
software.</li><li>Transparently build from source or download pre-built binaries.</li><li>Installed software is bootstrappable, trustable, and auditable all
the way down to your compiler's compiler.</li><li>Eliminates an entire class of "works on my system" type problems.</li></ul><p>No prior knowledge of Guix, Nix, or the functional model is
required. When you leave this talk, I hope you will have a basic
understanding of what Guix is, how to use it, and why it will help
make your life brighter.</p><h1>Schedule</h1><p>The talk will take place at the following time and location:</p><ul><li>Date: November 10th (Saturday), 2018</li><li>Time: 13:30 local time</li><li>Duration: 50 minutes</li><li>Room Number: 5102</li><li>Conference: <a href="https://seagl.org">Seattle GNU/Linux Conference 2018</a></li></ul><p>For details, please refer to <a href="https://osem.seagl.org/conferences/seagl2018/program/proposals/526">the official SeaGL page for the
talk</a>.</p><h1>About GNU Guix</h1><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager for the GNU system. The Guix System Distribution or GuixSD is
an advanced distribution of the GNU system that relies on GNU Guix and
<a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's
freedom</a>.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. Guix uses low-level
mechanisms from the Nix package manager, except that packages are
defined as native <a href="https://www.gnu.org/software/guile">Guile</a> modules,
using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD
offers a declarative approach to operating system configuration
management, and is highly customizable and hackable.</p><p>GuixSD can be used on an i686, x86_64 and armv7 machines. It is also
possible to use Guix on top of an already installed GNU/Linux system,
including on mips64el and aarch64.</p>https://guix.gnu.org/blog/2018/guix--reproducible-builds-at-libreplanet-2018//Guix & reproducible builds at LibrePlanet 2018Ludovic Courtès2018-04-05T14:00:00Z2018-04-05T14:00:00Z LibrePlanet , the yearly free software
conference organized by the Free Software Foundation, took place a week
ago. Among the many great talks and workshops, David Thompson, a core
Guix developer also working as a DevOps, presented many aspects of Guix
and GuixSD in his talk, Practical, verifiable software freedom with
GuixSD
( video ,
slides ). In a similar domain, Chris Lamb, current Debian
Project Leader and a driving force behind the Reproducible Builds
effort , gave a talk entitled You
think you're not a target? A tale of three developers...
( video ,
slides ). …<p><a href="https://libreplanet.org/2018/">LibrePlanet</a>, the yearly free software
conference organized by the Free Software Foundation, took place a week
ago. Among the many great talks and workshops, David Thompson, a core
Guix developer also working as a DevOps, presented many aspects of Guix
and GuixSD in his talk, <em>Practical, verifiable software freedom with
GuixSD</em>
(<a href="https://media.libreplanet.org/u/libreplanet/m/practical-verifiable-software-freedom-with-guixsd/">video</a>,
<a href="https://www.gnu.org/software/guix/guix-libreplanet-practical-freedom-20180325.pdf">slides</a>).</p><p>In a similar domain, Chris Lamb, current <a href="https://debian.org">Debian</a>
Project Leader and a driving force behind the <a href="https://reproducible-builds.org">Reproducible Builds
effort</a>, gave a talk entitled <em>You
think you're not a target? A tale of three developers...</em>
(<a href="https://media.libreplanet.org/u/libreplanet/m/you-think-you-re-not-a-target-a-tale-of-three-developers/">video</a>,
<a href="https://salsa.debian.org/reproducible-builds/reproducible-presentations/tree/master/2018-03-24-libreplanet-2018">slides</a>).</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager for the GNU system. The Guix System Distribution or GuixSD is
an advanced distribution of the GNU system that relies on GNU Guix and
<a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's
freedom</a>.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. Guix uses low-level
mechanisms from the Nix package manager, except that packages are
defined as native <a href="https://www.gnu.org/software/guile">Guile</a> modules,
using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD
offers a declarative approach to operating system configuration
management, and is highly customizable and hackable.</p><p>GuixSD can be used on an i686, x86_64 and armv7 machines. It is also
possible to use Guix on top of an already installed GNU/Linux system,
including on mips64el and aarch64.</p>https://guix.gnu.org/blog/2018/meet-guix-at-fosdem-2018//Meet Guix at FOSDEMLudovic Courtès2018-01-29T16:00:00Z2018-01-29T16:00:00Z GNU Guix will be present at FOSDEM in the
coming days with a couple of talks: The many ways of using Guix
packages on
Saturday afternoon, in the “package management” track, will be a
guide to which ways might suit you , by Christopher Baines. On Sunday morning, in the “high-performance computing” track, I will
give a talk entitled Tying software deployment to scientific
workflows .
I will explain how Guix can be thought of as a programming language
extension that can be used to make software deployment a
first-class citizen , as illustrated…<p>GNU Guix will be present at <a href="https://fosdem.org/2018/">FOSDEM</a> in the
coming days with a couple of talks:</p><ul><li><a href="https://fosdem.org/2018/schedule/event/usingguix/"><em>The many ways of using Guix
packages</em></a> on
Saturday afternoon, in the “package management” track, will be <em>a
guide to which ways might suit you</em>, by Christopher Baines.</li><li>On Sunday morning, in the “high-performance computing” track, I will
give a talk entitled <a href="https://fosdem.org/2018/schedule/event/guix_workflows/"><em>Tying software deployment to scientific
workflows</em></a>.
I will explain how Guix can be thought of as a programming language
extension that can be used to <em>make software deployment a
first-class citizen</em>, as illustrated by the <a href="http://guixwl.org">Guix Workflow
Language</a>, and how this fits with <a href="https://hpc.guix.info">our vision for
HPC</a>.</li></ul><p>We are also organizing a <em>one-day Guix workshop</em> where contributors and
enthusiasts will meet, thanks to the efforts of Manolis Ragkousis and
Pjotr Prins. The workshop takes place on Friday Feb. 2nd at the
Institute of Cultural Affairs (ICAB) in Brussels. The morning will be
dedicated to talks—among other things, we are happy to welcome Eelco
Dolstra, the founder of <a href="https://nixos.org/nix/">Nix</a>, without which
Guix would not exist today. The afternoon will be a more informal
discussion and hacking session.</p><p>Attendance to the workshop is free and open to everyone, though you are
invited to register. Check out <a href="https://libreplanet.org/wiki/Group:Guix/FOSDEM2018">the workshop’s wiki
page</a> for the
program, registration, and practical info. Hope to see you in Brussels!</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager for the GNU system. The Guix System Distribution or GuixSD is
an advanced distribution of the GNU system that relies on GNU Guix and
<a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's
freedom</a>.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. Guix uses low-level
mechanisms from the Nix package manager, except that packages are
defined as native <a href="https://www.gnu.org/software/guile">Guile</a> modules,
using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD
offers a declarative approach to operating system configuration
management, and is highly customizable and hackable.</p><p>GuixSD can be used on an i686, x86_64 and armv7 machines. It is also
possible to use Guix on top of an already installed GNU/Linux system,
including on mips64el and aarch64.</p>https://guix.gnu.org/blog/2017/back-from-gpce//Back from GPCELudovic Courtès2017-11-01T12:00:00Z2017-11-01T12:00:00Z Last week, I was at GPCE
2017 ,
an academic conference focused on generative programming techniques. I
presented Code Staging in
GNU Guix , a paper that discusses
the motivation for and genesis of
G-expressions
as well as recent improvements. The slides are available
here . …<p>Last week, I was at <a href="https://conf.researchr.org/track/gpce-2017/gpce-2017-GPCE-2017">GPCE
2017</a>,
an academic conference focused on generative programming techniques. I
presented <a href="https://hal.inria.fr/hal-01580582/en"><em>Code Staging in
GNU Guix</em></a>, a paper that discusses
the motivation for and genesis of
<a href="https://www.gnu.org/software/guix/manual/en/html_node/G_002dExpressions.html">G-expressions</a>
as well as recent improvements. The slides are <a href="https://www.gnu.org/software/guix/guix-gpce-20171023.pdf">available
here</a>.</p>https://guix.gnu.org/blog/2017/coming-events//Coming eventsLudovic Courtès2017-10-17T12:00:00Z2017-10-17T12:00:00Z Guix will be present on a few venues in the coming weeks: On October 23rd, I (Ludovic Courtès) will be at
GPCE ,
an academic conference co-located with SPLASH in Vancouver, Canada.
I will present the paper Code Staging in
GNU Guix , which discusses
the motivation for and genesis of
G-expressions ,
as well as recent improvements. It’s an honor to be presenting
before an audience of experts in the field! Christopher Baines will be at freenode
#live in Bristol, UK, among well-known
free software activists from a variety of organizations and
projects. Christopher will give a…<p>Guix will be present on a few venues in the coming weeks:</p><ol><li>On October 23rd, I (Ludovic Courtès) will be at
<a href="https://conf.researchr.org/track/gpce-2017/gpce-2017-GPCE-2017">GPCE</a>,
an academic conference co-located with SPLASH in Vancouver, Canada.
I will present the paper <a href="https://hal.inria.fr/hal-01580582/en"><em>Code Staging in
GNU Guix</em></a>, which discusses
the motivation for and genesis of
<a href="https://www.gnu.org/software/guix/manual/en/html_node/G_002dExpressions.html">G-expressions</a>,
as well as recent improvements. It’s an honor to be presenting
before an audience of experts in the field!</li><li>Christopher Baines will be at <a href="https://freenode.live/">freenode
#live</a> in Bristol, UK, among well-known
free software activists from a variety of organizations and
projects. Christopher will give a talk on October 29th to give an
overview of Guix and GuixSD.</li><li>On October 31st, Ricardo Wurmus, Jan Nieuwenhuizen, and possibly
more Guix hackers will join a dozen free software projects at the
<a href="https://reproducible-builds.org/events/berlin2017/">third Reproducible Build
Summit</a> in
Berlin, Germany. As in
<a href="/news/reproducible-build-summit-2nd-edition.html">previous</a>
<a href="https://lists.gnu.org/archive/html/guix-devel/2015-12/msg00107.html">years</a>,
we expect it to be a good time to share tips & tricks as well as a
longer-term vision with our fellow hackers!</li></ol><p>If you’re around in Vancouver, Bristol, or Berlin, let’s get in touch!
:-)</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager for the GNU system. The Guix System Distribution or GuixSD is
an advanced distribution of the GNU system that relies on GNU Guix and
<a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's
freedom</a>.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. Guix uses low-level
mechanisms from the Nix package manager, except that packages are
defined as native <a href="https://www.gnu.org/software/guile">Guile</a> modules,
using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD
offers a declarative approach to operating system configuration
management, and is highly customizable and hackable.</p><p>GuixSD can be used on an i686 or x86_64 machine. It is also possible to
use Guix on top of an already installed GNU/Linux system, including on
mips64el, armv7, and aarch64.</p>https://guix.gnu.org/blog/2017/back-from-rse-2017//Back from RSE 2017Ricardo Wurmus2017-09-11T12:00:00Z2017-09-11T12:00:00Z Last week, I was in Manchester, UK, to attend the second conference of
Research Software Engineers, or RSE 2017
for short. I presented on the topic of Reproducible and
user-controlled software management in HPC with GNU
Guix .
The slides are available
here . …<p>Last week, I was in Manchester, UK, to attend the second conference of
Research Software Engineers, or <a href="http://rse.ac.uk/conf2017/">RSE 2017</a>
for short. I presented on the topic of <a href="http://rse.ac.uk/conf2017/talk-abstracts/#reproducible-and-user-controlled-software-management-in-hpc-with-gnu-guix">Reproducible and
user-controlled software management in HPC with GNU
Guix</a>.
The slides are <a href="http://rse.ac.uk/conf2017/wp-content/uploads/sites/2/2017/11/reproducible-and-user-controlled-software-management-in-hpc-with-gnu-guix-wurmus.pdf">available
here</a>.</p>https://guix.gnu.org/blog/2017/back-from-bosc-2017//Back from BOSC 2017Ricardo Wurmus2017-07-25T12:00:00Z2017-07-25T12:00:00Z On the 23rd and 24th of July, Pjotr Prins and I visited Prague to
attend BOSC 2017 , the 18th
annual Bioinformatics Open Source Conference. We combined our short
talk slots to present the topics of "Reproducible bioinformatics
software with GNU Guix" and "Reproducible and user-controlled software
management in HPC with GNU Guix". The organizers have uploaded a
video recording of the talk here . …<p>On the 23rd and 24th of July, Pjotr Prins and I visited Prague to
attend <a href="https://www.open-bio.org/wiki/BOSC_2017">BOSC 2017</a>, the 18th
annual Bioinformatics Open Source Conference. We combined our short
talk slots to present the topics of "Reproducible bioinformatics
software with GNU Guix" and "Reproducible and user-controlled software
management in HPC with GNU Guix". The organizers have uploaded a
<a href="https://youtu.be/cH6wCL6GeOQ">video recording of the talk here</a>.</p>https://guix.gnu.org/blog/2017/back-from-bob-konferenz-2017//Back from BOB Konferenz 2017sirgazil2017-02-25T00:00:00+02002017-02-25T00:00:00+0200 The BOB Konferenz 2017 concluded. There is no video recording this time, but you can download the slides from Ricardo Wurmus' talk, "Functional package management with GNU Guix for developers and power users". …<p>The <a href="http://bobkonf.de/2017/en/">BOB Konferenz 2017</a> concluded. There is no video recording this time, but you can download the <a href="https://www.gnu.org/software/guix/guix-bobkonf-20170224.pdf">slides</a> from Ricardo Wurmus' talk, "Functional package management with GNU Guix for developers and power users".</p>https://guix.gnu.org/blog/2017/back-from-fosdem-2017//Back from FOSDEM 2017sirgazil2017-02-06T00:00:00+02002017-02-06T00:00:00+0200 FOSDEM 2017 concluded. This time, the GNU Guix community participated with 8 talks. An introduction to functional package management with GNU Guix DOWNLOAD VIDEO (WebM, 26 minutes) Speaker: Ricardo Wurmus Slides: guix-fosdem-intro-20170205.pdf Composing system services in GuixSD DOWNLOAD VIDEO (WebM, 43 minutes) Speaker: Ludovic Courtès Slides: guix-fosdem-composing-services-20170205.pdf Reproducible packaging and distribution of software with GNU Guix DOWNLOAD VIDEO (WebM, 29 minutes) …<p><a href="https://fosdem.org/2017/">FOSDEM 2017</a> concluded. This time, the GNU Guix community participated with 8 talks.</p><h3>An introduction to functional package management with GNU Guix</h3><video src="https://video.fosdem.org/2017/K.4.601/guixintroduction.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://video.fosdem.org/2017/K.4.601/guixintroduction.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 26 minutes)</p></div></video><ul><li>Speaker: Ricardo Wurmus</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-intro-20170205.pdf">guix-fosdem-intro-20170205.pdf</a></li></ul><h3>Composing system services in GuixSD</h3><video src="https://video.fosdem.org/2017/K.4.601/composingsystemservicesinguixsd.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://video.fosdem.org/2017/K.4.601/composingsystemservicesinguixsd.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 43 minutes)</p></div></video><ul><li>Speaker: Ludovic Courtès</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-composing-services-20170205.pdf">guix-fosdem-composing-services-20170205.pdf</a></li></ul><h3>Reproducible packaging and distribution of software with GNU Guix</h3><video src="https://video.fosdem.org/2017/K.4.601/guixpackages.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://video.fosdem.org/2017/K.4.601/guixpackages.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 29 minutes)</p></div></video><ul><li>Speaker: Pjotr Prins</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-packaging-20170205.pdf">guix-fosdem-packaging-20170205.pdf</a></li></ul><h3>Mes—Maxwell's Equations of Software</h3><video src="https://mirrors.dotsrc.org/fosdem/2017/K.4.601/guixsdbootstrap.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://mirrors.dotsrc.org/fosdem/2017/K.4.601/guixsdbootstrap.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 28 minutes)</p></div></video><ul><li>Speaker: Jan Nieuwenhuizen</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-mes-20170205.pdf">guix-fosdem-mes-20170205.pdf</a></li></ul><h3>Adding GNU/Hurd support to GNU Guix and GuixSD</h3><video src="http://mirror.onet.pl/pub/mirrors/video.fosdem.org/2017/K.4.601/guixhurd.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="http://mirror.onet.pl/pub/mirrors/video.fosdem.org/2017/K.4.601/guixhurd.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 30 minutes)</p></div></video><ul><li>Speaker: Manolis Ragkousis</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-hurd-20170205.pdf">guix-fosdem-hurd-20170205.pdf</a></li></ul><h3>Workflow management with GNU Guix</h3><video src="https://mirrors.dotsrc.org/fosdem/2017/K.4.601/guixworkflowmanagement.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://mirrors.dotsrc.org/fosdem/2017/K.4.601/guixworkflowmanagement.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 20 minutes)</p></div></video><ul><li>Speaker: Roel Janssen</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-workflow-management-20170205.pdf">guix-fosdem-workflow-management-20170205.pdf</a></li></ul><h3>Optimized and reproducible HPC Software deployment</h3><video src="https://video.fosdem.org/2017/H.2213/hpc_deployment_guix.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://video.fosdem.org/2017/H.2213/hpc_deployment_guix.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 26 minutes)</p></div></video><ul><li>Speakers: Pjotr Prins and Ludovic Courtès</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-hpc-part1-20170204.pdf">guix-fosdem-hpc-part1-20170204.pdf</a>, <a href="https://www.gnu.org/software/guix/guix-fosdem-hpc-part2-20170204.pdf">guix-fosdem-hpc-part2-20170204.pdf</a></li></ul><h3>The future of Guix</h3><video src="http://bofh.nikhef.nl/events/FOSDEM/2017/K.4.601/futureofguix.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="http://bofh.nikhef.nl/events/FOSDEM/2017/K.4.601/futureofguix.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 48 minutes)</p></div></video><ul><li>Speakers: Christopher Webber, Ludovic Courtès, Pjotr Prins, Ricardo Wurmus</li></ul>https://guix.gnu.org/blog/2017/meet-guix-at-fosdem-2017//Meet Guix at FOSDEMLudovic Courtès2017-01-17T14:30:00Z2017-01-17T14:30:00Z
GNU Guix will be present
at FOSDEM next month with
talks on a number of areas of active development. The first one
will be on Saturday, in
the high-performance
computing (HPC) track :
Optimized
and reproducible HPC Software deployment (Pjotr
Prins and Ludovic Courtès).
…<div>
<p>
GNU Guix will be present
at <a href="https://fosdem.org/2017">FOSDEM</a> next month with
talks on a number of areas of active development. The first one
will be on Saturday, in
the <a href="https://fosdem.org/2017/schedule/track/hpc,_big_data_and_data_science/">high-performance
computing (HPC) track</a>:
<ul>
<li><a href="https://fosdem.org/2017/schedule/event/hpc_deployment_guix/"><i>Optimized
and reproducible HPC Software deployment</i></a> (Pjotr
Prins and Ludovic Courtès).
</li>
</ul>
Of course,
the <a href="https://fosdem.org/2017/schedule/track/gnu_guile/">GNU Guile
track</a> on Sunday will be like home, with a bunch of talks there:
<ul>
<li><a href="https://fosdem.org/2017/schedule/event/guixintroduction/"><i>An
introduction to functional package management with
GNU Guix</i></a> (Ricardo Wurmus);</li>
<li><a href="https://fosdem.org/2017/schedule/event/composingsystemservicesinguixsd/"><i>Composing
system services in GuixSD</i></a> (Ludovic Courtès);</li>
<li><a href="https://fosdem.org/2017/schedule/event/guixpackages/"><i>Reproducible packaging and distribution of
software with GNU Guix</i></a> (Pjotr Prins);</li>
<li><a href="https://fosdem.org/2017/schedule/event/guixsdbootstrap/"><i>Mes—Maxwell's
Equations of Software</i></a> (Jan Nieuwenhuizen);</li>
<li><a href="https://fosdem.org/2017/schedule/event/guixhurd/"><i>Adding
GNU/Hurd support to GNU Guix and GuixSD</i></a> (Manolis
Ragkousis);</li>
<li><a href="https://fosdem.org/2017/schedule/event/guixworkflowmanagement/"><i>Workflow
management with GNU Guix</i></a> (Roel Janssen).</li>
</ul>
We'll end the day with
a <a href="https://fosdem.org/2017/schedule/event/futureofguix/">round
table</a> on the future of Guix.
</p>
<p>
<a href="https://fosdem.org/2017">FOSDEM</a> takes place in
Brussels, Belgium, on the 4th and 5th of February, with
the <a href="https://fosdem.org/2017/schedule/track/gnu_guile/">Guile
track</a> all day long on Sunday 5th. Hope to see you there!
</p>
<h4>About GNU Guix</h4>
<p>
<a href="https://www.gnu.org/software/guix">GNU Guix</a> is a
transactional package manager for the GNU system. The Guix System
Distribution or GuixSD is an advanced distribution of the GNU system
that relies on GNU Guix
and <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
the user's freedom</a>.<br /></p><p>In addition to standard package
management features, Guix supports transactional upgrades and
roll-backs, unprivileged package management, per-user profiles, and
garbage collection. Guix uses low-level mechanisms from the Nix
package manager, except that packages are defined as
native <a href="https://www.gnu.org/software/guile">Guile</a> modules,
using extensions to the <a href="http://schemers.org">Scheme</a>
language. GuixSD offers a declarative approach to operating system
configuration management, and is highly customizable and
hackable.<br />
</p>
<p>
GuixSD can be used on an i686 or x86_64 machine. It is also possible
to use Guix on top of an already installed GNU/Linux system, including
on mips64el and armv7.
</p>
</div>https://guix.gnu.org/blog/2016/back-from-cufp-2016//Back from CUFP 2016sirgazil2016-09-24T00:00:00+02002016-09-24T00:00:00+0200 The Commercial Users of Functional Programming 2016 Workshop concluded. There is no video recording this time, but you can download the slides from Ludovic Courtès' talk, "Guix: Scheme as a uniform OS admin and deployment interface". …<p>The <a href="http://cufp.org/2016/">Commercial Users of Functional Programming 2016 Workshop</a> concluded. There is no video recording this time, but you can download the <a href="https://www.gnu.org/software/guix/guix-cufp-20160924.pdf">slides</a> from Ludovic Courtès' talk, "Guix: Scheme as a uniform OS admin and deployment interface".</p>https://guix.gnu.org/blog/2016/back-from-the-scheme-workshop-2016//Back from the Scheme Workshop 2016sirgazil2016-09-18T00:00:00+02002016-09-18T00:00:00+0200 The 17th Annual Scheme and Functional Programming Workshop 2016 concluded. There is no video recording this time, but you can download the slides from Ludovic Courtès' invited talk, "GNU Guix: The Functional GNU/Linux Distro That’s a Scheme Library". …<p>The <a href="http://dconf.org/2016/index.html">17th Annual Scheme and Functional Programming Workshop 2016</a> concluded. There is no video recording this time, but you can download the <a href="https://www.gnu.org/software/guix/guix-scheme-workshop-20160918.pdf">slides</a> from Ludovic Courtès' invited talk, "GNU Guix: The Functional GNU/Linux Distro That’s a Scheme Library".</p>https://guix.gnu.org/blog/2016/back-from-gbcuw-2016//Back from GBCUW 2016Ricardo Wurmus2016-09-13T12:00:00Z2016-09-13T12:00:00Z On the 12th of September, I attended the German Bioinformatics Core
Unit Workshop , a satellite workshop
on behalf of the German Conference on Bioinformatics (GCB) 2016. I
gave a talk on the topic "Reproducible and User-Controlled Package
Management in HPC with GNU Guix". …<p>On the 12th of September, I attended the <a href="https://www.gbcuw.de/workshop/">German Bioinformatics Core
Unit Workshop</a>, a satellite workshop
on behalf of the German Conference on Bioinformatics (GCB) 2016. I
gave a talk on the topic "Reproducible and User-Controlled Package
Management in HPC with GNU Guix".</p>https://guix.gnu.org/blog/2016/back-from-the-gnu-hackers-meeting-2016//Back from the GNU Hackers Meeting 2016sirgazil2016-08-22T00:00:00+02002016-08-22T00:00:00+0200 The GNU Hackers Meeting 2016 took place in Rennes (Brittany, France) from August 18-20 hosted by Inria . GNU Guix maintainer, Ludovic Courtès, participated with three presentations: GNU Guix is 4 years old! ( slides ). Using Guix and Emacs in perfect harmony (demo) Navigating the Guix subsystems ( slides ). Here is the video recording of the first talk: DOWNLOAD VIDEO (MP4, 50 minutes) …<p>The <a href="http://www.gnu.org/ghm/2016/">GNU Hackers Meeting 2016</a> took place in <a href="https://en.wikipedia.org/wiki/Rennes">Rennes</a> (Brittany, France) from August 18-20 hosted by <a href="https://www.inria.fr/en/">Inria</a>. GNU Guix maintainer, Ludovic Courtès, participated with three presentations:</p><ul><li>GNU Guix is 4 years old! (<a href="https://www.gnu.org/software/guix/guix-ghm-20160818.pdf">slides</a>).</li><li>Using Guix and Emacs in perfect harmony (demo)</li><li>Navigating the Guix subsystems (<a href="https://www.gnu.org/software/guix/guix-ghm-20160819.pdf">slides</a>).</li></ul><p>Here is the video recording of the first talk:</p><video src="http://videos.rennes.inria.fr/Workshop-GNUHackersMeetings2016/expose-GNULudovicCourtes18aout2016.mp4" controls="controls"><div class="action-box centered-text"><a class="button-big" href="http://videos.rennes.inria.fr/Workshop-GNUHackersMeetings2016/expose-GNULudovicCourtes18aout2016.mp4">DOWNLOAD VIDEO</a><p>(MP4, 50 minutes)</p></div></video>https://guix.gnu.org/blog/2016/back-from-dconf-2016//Back from DConf 2016sirgazil2016-05-04T00:00:00+02002016-05-04T00:00:00+0200 The DConf 2016 concluded. There is no video recording this time, but you can download the slides from Pjoter Prins' lightning talk, "GNU Guix and D". …<p>The <a href="http://dconf.org/2016/index.html">DConf 2016</a> concluded. There is no video recording this time, but you can download the <a href="https://www.gnu.org/software/guix/guix-dconf-20160505.pdf">slides</a> from Pjoter Prins' lightning talk, "GNU Guix and D".</p>https://guix.gnu.org/blog/2016/guix-at-libreplanet-2016//Guix at LibrePlanet 2016David Thompson2016-03-15T00:00:00+01002016-03-15T00:00:00+0100 GNU hackers Christopher Allan Webber (whom you may know from the GNU MediaGoblin project ) and David Thompson will be co-presenting "Solving the Deployment Crisis with Guix" at LibrePlanet 2016 this Saturday, March 19th. Chris and David will be focusing on the hardships and obstacles that users face when trying to exercise their software freedom by self-hosting web applications, offering Guix as a solution. The presentation will be held from 10:55 AM to 11:40 AM in room 32-141 of the MIT Stata Center in Cambridge, Massachusetts. UPDATE: Here is the…<p>GNU hackers Christopher Allan Webber (whom you may know from the <a href="http://mediagoblin.org">GNU MediaGoblin project</a>) and David Thompson will be co-presenting <a href="https://libreplanet.org/2016/program/#day-1-timeslot-4-session-2">"Solving the Deployment Crisis with Guix"</a> at <a href="https://libreplanet.org/2016">LibrePlanet 2016</a> this Saturday, March 19th. Chris and David will be focusing on the hardships and obstacles that users face when trying to exercise their software freedom by self-hosting web applications, offering Guix as a solution. The presentation will be held from 10:55 AM to 11:40 AM in room 32-141 of the MIT Stata Center in Cambridge, Massachusetts.</p><p>UPDATE: Here is the video recording and <a href="https://www.gnu.org/software/guix/guix-libreplanet-solving-the-deployment-crisis-20160319.pdf">slides</a> from the talk.</p><video src="https://media.libreplanet.org/mgoblin_media/media_entries/1419/LP_2016_03_19_Webber_-_Thompson_Solving_the_deployment_crisis_with_GNU_STREAM.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://media.libreplanet.org/mgoblin_media/media_entries/1419/LP_2016_03_19_Webber_-_Thompson_Solving_the_deployment_crisis_with_GNU_STREAM.webm">DOWNLOAD VIDEO</a><p>(WebM, 44 minutes)</p></div></video><h4>About LibrePlanet</h4><p><a href="https://libreplanet.org">LibrePlanet</a> is an annual conference run by the FSF and MIT's Student Information Processing Board for free software users, developers, and activists to gather and share ideas. Admission is gratis for FSF associate members.</p><h4>About GNU Guix</h4><p><a href="http://www.gnu.org/software/guix">GNU Guix</a> is a functional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and <a href="http://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's freedom</a>.</p><p>In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native <a href="http://www.gnu.org/software/guile">Guile</a> modules, using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.</p><p>GuixSD can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.</p>https://guix.gnu.org/blog/2016/meet-guix-at-fosdem//Meet Guix at FOSDEM!Ludovic Courtès2016-01-22T00:00:00+01002016-01-22T00:00:00+0100 One week to FOSDEM ! This year, there will be no less than six Guix-related talks. This and the fact that we are addressing different communities is exciting. First, on Saturday morning, in the GNU Guile track (room K.3.201): Adding GNU/Hurd support to GNU Guix (Manolis Ragkousis)
A gentle introduction to functional package management with GNU Guix (Ricardo Wurmus)
Your distro is a Scheme library (Ludovic Courtès)
Foreign packages in GNU Guix (Pjotr Prins)
…<div><p>One week to <a href="https://fosdem.org/2016">FOSDEM</a>! This year, there will be no less than six Guix-related talks. This and the fact that we are addressing different communities is exciting.<br /></p><p>First, on Saturday morning, in the <a href="https://fosdem.org/2016/schedule/track/gnu_guile/">GNU Guile track</a> (room K.3.201):<br /></p><ul><li><a href="https://fosdem.org/2016/schedule/event/guixhurd/">Adding GNU/Hurd support to GNU Guix</a> (Manolis Ragkousis)
</li><li><a href="https://fosdem.org/2016/schedule/event/guix/">A gentle introduction to functional package management with GNU Guix</a> (Ricardo Wurmus)
</li><li><a href="https://fosdem.org/2016/schedule/event/guixdistro/">Your distro is a Scheme library</a> (Ludovic Courtès)
</li><li><a href="https://fosdem.org/2016/schedule/event/guixmodules/">Foreign packages in GNU Guix</a> (Pjotr Prins)
</li></ul><p>On Saturday afternoon:<br /></p><ul><li><a href="https://fosdem.org/2016/schedule/event/deployments_with_gnu_guix/">Reproducible and Customizable Deployments with GNU Guix</a> (Ludovic Courtès, <a href="https://fosdem.org/2016/schedule/track/distributions/">distributions track</a>, room K.4.201)
</li><li><a href="https://fosdem.org/2016/schedule/event/guix_tox/">Guix-tox, a functional version of tox</a> (Cyril Roelandt, <a href="https://fosdem.org/2016/schedule/track/python/">Python track</a>, room UD2.218A)
</li></ul><p>On Sunday noon:<br /></p><ul><li><a href="https://fosdem.org/2016/schedule/event/hpc_bigdata_gnu_guix/">Reproducible and User-Controlled Package Management in HPC with GNU Guix</a> (Ricardo Wurmus, <a href="https://fosdem.org/2016/schedule/track/hpc,_big_data_and_data_science/">HPC track</a>, room AW1.126)
</li></ul><p>See you there!<br /></p><h4>About GNU Guix</h4><p><a href="http://www.gnu.org/software/guix">GNU Guix</a> is a functional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and <a href="http://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's freedom</a>.<br /></p><p>In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native <a href="http://www.gnu.org/software/guile">Guile</a> modules, using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.<br /></p><p>GuixSD can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.<br /></p></div>https://guix.gnu.org/blog/2016/gnu-guix-talk-in-boston-ma-usa-on-january-20th//GNU Guix talk in Boston, MA (USA) on January 20thLudovic Courtès2016-01-11T00:00:00+01002016-01-11T00:00:00+0100 David Thompson will be giving a talk about Guix on January 20th at the BLU gathering at MIT in Boston, Massachusetts (USA). David gives an overview of what functional package management is all about and how it differs from traditional imperative package management. He also demonstrates some interesting features of Guix such as transactional package management, unprivileged package management, bit-reproducible builds, and full system configuration management. The talk will take place in MIT building E-51, room 325. David is a GNU hacker who contributes to Guix…<p><a href="https://dthompson.us/">David Thompson</a> will be giving a <a href="http://blu.org/cgi-bin/calendar/2016-jan">talk about Guix on January 20th</a> at the BLU gathering at MIT in Boston, Massachusetts (USA).</p><p><em>David gives an overview of what functional package management is all about and how it differs from traditional imperative package management.</em></p><p><em>He also demonstrates some interesting features of Guix such as transactional package management, unprivileged package management, bit-reproducible builds, and full system configuration management.</em></p><p>The talk will take place in MIT building E-51, room 325.</p><p>David is a GNU hacker who contributes to Guix and Guile; he implemented <a href="/news/container-provisioning-with-guix.html">container support</a> in Guix. If you are in the Boston area, do not miss him!</p><p>UPDATE: Here are the <a href="https://www.gnu.org/software/guix/guix-blu-20160120.pdf">slides</a> from the talk.</p><h4>About GNU Guix</h4><p><a href="http://www.gnu.org/software/guix">GNU Guix</a> is a functional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and <a href="http://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's freedom</a>.</p><p>In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native <a href="http://www.gnu.org/software/guile">Guile</a> modules, using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.</p><p>GuixSD can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.</p>https://guix.gnu.org/blog/2015/gnu-guix-talk-in-rennes-france-november-9th//GNU Guix talk in Rennes, France, November 9thLudovic Courtès2015-11-02T00:00:00+01002015-11-02T00:00:00+0100 Ludovic Courtès will be giving a talk about GNU Guix and GuixSD in Rennes, France, on November 9th . The event is organized by the three local free software and hacker organizations: “It used to work perfectly, then I upgraded something, and somehow…” Sounds like a déjà vu? Sometimes feel like software deployment is unpredictable? Dissatisfied with Dockerfiles, Vagrantfiles, and co? Ever wondered if you can trust your compiler or the integrity of those binary packages you have downloaded? This talk introduces GNU Guix, a package manager…<p>Ludovic Courtès will be giving a talk about GNU Guix and GuixSD <a href="http://www.agendadulibre.org/events/10182">in Rennes, France, on November 9th</a>. The event is organized by the three local free software and hacker organizations:</p><p><em> “It used to work perfectly, then I upgraded something, and somehow…” Sounds like a déjà vu? Sometimes feel like software deployment is unpredictable? Dissatisfied with Dockerfiles, Vagrantfiles, and co? Ever wondered if you can trust your compiler or the integrity of those binary packages you have downloaded?</em></p><p><em>This talk introduces GNU Guix, a package manager that implements the functional package management paradigm pioneered by <a href="http://nixos.org/nix">Nix</a> to address these issues. Guix supports transactional upgrades and rollbacks, as well as support for multiple software profiles. In this talk, I will introduce functional package management and demonstrate Guix on practical use cases. I will discuss the implications on (bit-)reproducible packages and environments, and how this can lead to verifiable binaries. Lastly, we will see how this extends to whole-system deployments with GuixSD, the Guix System Distribution.</em></p><p>Earlier on that day, a similar talk with a focus on security and reproducibility issues will be given at <a href="http://www.inria.fr/en/centre/rennes">Inria</a>, thanks to the support of <a href="http://grothoff.org/christian/">Christian Grothoff</a> and the <a href="http://sed.bordeaux.inria.fr/">software development department</a> in Bordeaux.</p><p>UPDATE: Here is the video recording and <a href="https://www.gnu.org/software/guix/guix-rennes-20151109.pdf">slides</a> from the talk.</p><video src="https://gnunet.org/sites/default/files/ludo2015guix.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://gnunet.org/sites/default/files/ludo2015guix.webm">DOWNLOAD VIDEO</a><p>(WebM, 73 minutes)</p></div></video><h4>About GNU Guix</h4><p><a href="http://www.gnu.org/software/guix">GNU Guix</a> is a functional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and <a href="http://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's freedom</a>.<br /></p><p>In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native <a href="http://www.gnu.org/software/guile">Guile</a> modules, using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.<br /></p><p>GuixSD can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.<br /></p>https://guix.gnu.org/blog/2015/guix-tox-talk-at-pyconfr-october-17th//Guix-Tox talk at PyConFR, October 17thLudovic Courtès2015-10-09T00:00:00+02002015-10-09T00:00:00+0200 Bonjour ! Cyril Roelandt of Red Hat who works on OpenStack will be giving a talk about Guix-Tox at PyConFR in Pau, France, on October 17th. Guix-Tox is a young variant of the Tox "virtualenv" management tool for Python that uses guix environment as its back-end. In essence, while Tox restricts itself to building pure Python environments, Guix-Tox takes advantages of Guix to build complete environments, including dependencies that are outside Tox's control, thereby improving environment reproducibility. Cyril will demonstrate practical use cases with OpenStack.…<div><p>Bonjour ! Cyril Roelandt of Red Hat who works on OpenStack will be <a href="http://www.pycon.fr/2015/schedule/presentation/47/">giving a talk</a> about Guix-Tox at PyConFR in Pau, France, on October 17th.<br /></p><p><a href="https://git.framasoft.org/Steap/guix-tox">Guix-Tox</a> is a young variant of the <a href="http://tox.testrun.org/">Tox</a> "virtualenv" management tool for Python that uses <a href="http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-environment.html">guix environment</a> as its back-end. In essence, while Tox restricts itself to building pure Python environments, Guix-Tox takes advantages of Guix to build complete environments, including dependencies that are outside Tox's control, thereby improving environment reproducibility. Cyril will demonstrate practical use cases with OpenStack.<br /></p><p>If you're around, do not miss the talk. If you're a Pythonista, you can help by providing feedback on Guix-Tox!<br /></p><h4>About GNU Guix</h4><p><a href="http://www.gnu.org/software/guix">GNU Guix</a> is a functional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and <a href="http://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's freedom</a>.<br /></p><p>In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native <a href="http://www.gnu.org/software/guile">Guile</a> modules, using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.<br /></p><p>GuixSD can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.<br /></p></div>https://guix.gnu.org/blog/2015/chris-webber-talks-about-guix-in-chicago-september-30th//Chris Webber talks about Guix in Chicago, September 30thLudovic Courtès2015-09-18T00:00:00+02002015-09-18T00:00:00+0200 Chris Webber of MediaGoblin fame will be giving two talks for the Chicago GNU/Linux User Group meeting on September 30th. The first talk will discuss the state of federation on the Web, while the second one is entitled Functional Package Management and Deployment with Guix : Tired of being stuck after an upgrade? Wish your operating system could roll forward and backwards in time, more like Git? Want a way to get really reproducible software? Or just want a better alternative to $YOUR_LANGUAGE's stressful packaging ecosystem…<div><p><a href="http://dustycloud.org/">Chris Webber</a> of <a href="http://mediagoblin.org/">MediaGoblin</a> fame <a href="https://chicagolug.org/meetings/2015-09-30.html">will be giving two talks</a> for the Chicago GNU/Linux User Group meeting on September 30th. The first talk will discuss the state of federation on the Web, while the second one is entitled <em>Functional Package Management and Deployment with Guix</em>:<br /></p><p><em>Tired of being stuck after an upgrade? Wish your operating system could roll forward and backwards in time, more like Git? Want a way to get really reproducible software? Or just want a better alternative to $YOUR_LANGUAGE's stressful packaging ecosystem you can run on an existing distro? And why on earth would you want something called a "symlink forest" anyway? Discover all this and more in this exciting talk about the GNU Guix project!</em><br /></p><p>If you're in the Chicago area, do not miss Chris!<br /></p><h4>About GNU Guix</h4><p><a href="http://www.gnu.org/software/guix">GNU Guix</a> is a functional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and <a href="http://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's freedom</a>.<br /></p><p>In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native <a href="http://www.gnu.org/software/guile">Guile</a> modules, using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.<br /></p><p>GuixSD can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.<br /></p></div>https://guix.gnu.org/blog/2015/gnu-guix-talk-at-opentechsummit-berlin-may-14th//GNU Guix talk at OpenTechSummit, Berlin, May 14thLudovic Courtès2015-05-12T00:00:00+02002015-05-12T00:00:00+0200 Ricardo Wurmus will be giving a talk about GNU Guix and GuixSD at the OpenTechSummit in Berlin, Germany, on May 14th. The talk will take place at 3:15pm in track 2 and covers topics such as the fundamentals of functional package management, software management features with GNU Guix, and system description in GuixSD. Ricardo has been making major contributions to Guix over the last year and is a long-time free software contributor. If you are in Berlin area, do not miss the talk! UPDATE: Here are the …<p><a href="http://elephly.net/">Ricardo Wurmus</a> will be giving a talk about GNU Guix and GuixSD at the <a href="http://opentechsummit.net/">OpenTechSummit</a> in Berlin, Germany, on May 14th. The talk will take place at <a href="http://opentechsummit.net/Programm.pdf">3:15pm in track 2</a> and covers topics such as the fundamentals of functional package management, software management features with GNU Guix, and system description in GuixSD.</p><p>Ricardo has been making major contributions to Guix over the last year and is a long-time free software contributor. If you are in Berlin area, do not miss the talk!</p><p>UPDATE: Here are the <a href="https://www.gnu.org/software/guix/guix-opentechsummit-201505014.pdf">slides</a> from the talk.</p>https://guix.gnu.org/blog/2015/gnu-guix-at-fosdem//GNU Guix at FOSDEMLudovic Courtès2015-01-27T00:00:00+01002015-01-27T00:00:00+0100 Guix will be present at FOSDEM in Brussels, Belgium, with a talk entitled "The Emacs of Distros" this Saturday, at 3PM, in room H.1302. The talk will give an update on developments in Guix and the Guix System Distribution since last year, and will explain and demo the overall philosophy behind its design---how Guix seeks to empower users. Hope to see you there! UPDATE: Here is the video recording and slides from the talk. DOWNLOAD VIDEO (WebM, 47 minutes) …<p>Guix will be present at FOSDEM in Brussels, Belgium, with a talk entitled <a href="https://fosdem.org/2015/schedule/event/the_emacs_of_distros/">"The Emacs of Distros"</a> this Saturday, at 3PM, in room H.1302.</p><p>The talk will give an update on developments in Guix and the Guix System Distribution since last year, and will explain and demo the overall philosophy behind its design---how Guix seeks to empower users.</p><p>Hope to see you there!</p><p>UPDATE: Here is the video recording and <a href="https://www.gnu.org/software/guix/guix-fosdem-20150131.pdf">slides</a> from the talk.</p><video src="https://audio-video.gnu.org/video/misc/2015-01__GNU_Guix__The_Emacs_of_Distros.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://audio-video.gnu.org/video/misc/2015-01__GNU_Guix__The_Emacs_of_Distros.webm">DOWNLOAD VIDEO</a><p>(WebM, 47 minutes)</p></div></video>https://guix.gnu.org/blog/2014/guix-at-the-2014-gnu-hackers-meeting//Guix at the 2014 GNU Hackers MeetingLudovic Courtès2014-10-11T00:00:00+02002014-10-11T00:00:00+0200 The Guix talk of this summer's GNU Hackers Meeting is now available (get the slides ). DOWNLOAD VIDEO (WebM, 60 minutes) It gives an introduction to Guix from a user's viewpoint, and covers topics such as features for GNU maintainers, programming interfaces, declarative operating system configuration, status of the GNU/Hurd port, and the new Emacs and Web interfaces---with a bunch of demos. Do not miss other fine talks from the GHM . Many thanks to everyone who took care of the video recordings. …<p>The Guix talk of this summer's GNU Hackers Meeting is now available (get the <a href="https://www.gnu.org/software/guix/guix-ghm-20140815.pdf">slides</a>).</p><video src="https://audio-video.gnu.org/video/ghm2014/2014-08--courtes--were-building-the-gnu-system--ghm.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://audio-video.gnu.org/video/ghm2014/2014-08--courtes--were-building-the-gnu-system--ghm.webm">DOWNLOAD VIDEO</a><p>(WebM, 60 minutes)</p></div></video><p>It gives an introduction to Guix from a user's viewpoint, and covers topics such as features for GNU maintainers, programming interfaces, declarative operating system configuration, status of the GNU/Hurd port, and the new Emacs and Web interfaces---with a bunch of demos.</p><p>Do not miss <a href="http://audio-video.gnu.org/video/ghm2014/">other fine talks from the GHM</a>. Many thanks to everyone who took care of the video recordings.</p>https://guix.gnu.org/blog/2014/guix-at-openbio-codefest-2014//Guix at OpenBio Codefest 2014David Thompson2014-07-13T00:00:00+02002014-07-13T00:00:00+0200 On Wednesday, July 9th, David Thompson gave a brief introduction to GNU Guix at the Open Bioinformatics Codefest 2014 hackathon . The objective of the Codefest is to give developers of bioinformatics software a chance to be fully focused on their projects for a few days and work in person. These developers are concerned with the reliability and reproducibility of their operating systems, and the limitations of their package management utilities. See the slides on-line . …<div><p>On Wednesday, July 9th, David Thompson gave a brief introduction to GNU Guix at the <a href="http://www.open-bio.org/wiki/Codefest_2014">Open Bioinformatics Codefest 2014 hackathon</a>. The objective of the Codefest is to give developers of bioinformatics software a chance to be fully focused on their projects for a few days and work in person. These developers are concerned with the reliability and reproducibility of their operating systems, and the limitations of their package management utilities.<br /></p><p>See the <a href="http://git.savannah.gnu.org/cgit/guix/maintenance.git/plain/talks/codefest-2014/guix-codefest-2014.pdf">slides on-line</a>.<br /></p></div>https://guix.gnu.org/blog/2014/one-week-to-fosdem//One week to FOSDEM!Ludovic Courtès2014-01-25T00:00:00+01002014-01-25T00:00:00+0100 FOSDEM takes place next week. We'll be giving a talk about Guix and the GNU system on Sunday at noon, in the distributions devroom . Interested parties, freedom supporters, GNU hackers, and Schemers all alike are welcome to join in! UPDATE: Here is the video recording and slides from the talk. DOWNLOAD VIDEO (WebM, 55 minutes) …<p><a href="https://fosdem.org/2014/">FOSDEM</a> takes place next week. We'll be giving a <a href="https://fosdem.org/2014/schedule/event/gnuguix/">talk</a> about Guix and the GNU system on Sunday at noon, in the <a href="https://fosdem.org/2014/schedule/track/distributions/">distributions devroom</a>. Interested parties, freedom supporters, GNU hackers, and Schemers all alike are welcome to join in!</p><p>UPDATE: Here is the video recording and <a href="https://www.gnu.org/software/guix/guix-fosdem-20140201.pdf">slides</a> from the talk.</p><video src="https://video.fosdem.org/2014/H1302_Depage/Sunday/Growing_a_GNU_with_Guix.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://video.fosdem.org/2014/H1302_Depage/Sunday/Growing_a_GNU_with_Guix.webm">DOWNLOAD VIDEO</a><p>(WebM, 55 minutes)</p></div></video>https://guix.gnu.org/blog/2013/back-from-the-gnu-hackers-meeting//Back from the GNU Hackers MeetingLudovic Courtès2013-09-02T00:00:00+02002013-09-02T00:00:00+0200 The GNU Hackers Meeting took place last week in Paris. As usual, it was a nice place to meet fellow hackers, grow new ideas, and to learn about what other projects are up to. Thanks to IRILL for hosting the event, and a big thanks to Luca for the very professional organization! Several Guix hackers were present, with no less than two talks advertising Guix. The first talk, "Guix, the Computing Freedom Deployment Tool", demoed the package manager, both from a user's and from a hacker's perspective, and…<p>The <a href="http://www.gnu.org/ghm/2013/paris">GNU Hackers Meeting</a> took place last week in Paris. As usual, it was a nice place to meet fellow hackers, grow new ideas, and to learn about what other projects are up to. Thanks to <a href="http://www.irill.org">IRILL</a> for hosting the event, and a big thanks to <a href="http://ageinghacker.net/">Luca</a> for the very professional organization!</p><p>Several Guix hackers were present, with no less than two talks advertising Guix. The first talk, "Guix, the Computing Freedom Deployment Tool", demoed the package manager, both from a user's and from a hacker's perspective, and with a look forward (see the video recording below).</p><video src="http://audio-video.gnu.org/video/ghm2013/Ludovic_Courtes-GNU_Guix_the_computing_freedom_deployment_tool_.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="http://audio-video.gnu.org/video/ghm2013/Ludovic_Courtes-GNU_Guix_the_computing_freedom_deployment_tool_.webm">DOWNLOAD VIDEO</a><p>(WebM, 60 minutes, 127 MiB)</p></div></video><p>The second talk, "GNU Guix: Package without a scheme!", delivered a "packaging how-to" that should be helpful to anyone willing to contribute to the GNU system distribution. There is no recording for this talk, but the <a href="https://www.gnu.org/software/guix/guix-ghm-andreas-20130823.pdf">slides</a> are available.</p>https://guix.gnu.org/blog/2013/back-from-the-european-lisp-symposium//Back from the European Lisp SymposiumLudovic Courtès2013-06-05T00:00:00+02002013-06-05T00:00:00+0200 The European Lisp Symposium (ELS) is over now, and it’s been pleasant experience: thoughtful discussions, beautiful city, and parentheses all around. Thanks to all the Lispers and Schemers who made it to ELS for the friendly atmosphere! The slides of the talk I gave on the design and implementation of Guix are available on-line . Nick Levine also published audio recordings of most of the talks (thanks!). DOWNLOAD AUDIO (MP3, 40 minutes, 38 MiB) …<p>The <a href="http://www-sop.inria.fr/members/Manuel.Serrano/conferences/els13.html">European Lisp Symposium</a> (ELS) is over now, and it’s been pleasant experience: thoughtful discussions, beautiful city, and parentheses all around. Thanks to all the Lispers and Schemers who made it to ELS for the friendly atmosphere!</p><p>The slides of the talk I gave on the design and implementation of Guix are <a href="http://www.gnu.org/software/guix/guix-els-20130603.pdf">available on-line</a>. Nick Levine also published <a href="http://www.nicklevine.org/els2013/">audio recordings</a> of most of the talks (thanks!).</p><audio src="http://www.nicklevine.org/els2013/ludovic-courtes.mp3" controls="controls"><div class="action-box centered-text"><a class="button-big" href="http://www.nicklevine.org/els2013/ludovic-courtes.mp3">DOWNLOAD AUDIO</a><p>(MP3, 40 minutes, 38 MiB)</p></div></audio>https://guix.gnu.org/blog/2013/guix-at-the-european-lisp-symposium//Guix at the European Lisp SymposiumLudovic Courtès2013-05-21T00:00:00+02002013-05-21T00:00:00+0200 A paper presenting the design of Guix's Scheme API and packaging language has been accepted for the 2013 European Lisp Symposium (ELS) . ELS will take place in Madrid on June 3-4. …<div><p>A <a href="http://arxiv.org/abs/1305.4584">paper</a> presenting the design of Guix's Scheme API and packaging language has been accepted for the <a href="http://www-sop.inria.fr/members/Manuel.Serrano/conferences/els13.html">2013 European Lisp Symposium (ELS)</a>. ELS will take place in Madrid on June 3-4.<br /></p></div>https://guix.gnu.org/blog/2012/functional-package-management-for-the-people//Functional Package Management for the Peoplesirgazil2012-07-20T00:00:00+01002012-07-20T00:00:00+0100 GNU Hackers Meeting in Düsseldorf , 2012. The following is the video of the presentation "Guix, functional package management for the people, and for GNU?", by Ludovic Courtès (get the slides ). DOWNLOAD VIDEO (Ogg/Theora, 84 minutes, 88.1 MiB) Guix is a purely functional package manager written in Guile Scheme, and building on the Nix package manager. It implements purely functional package build and composition: a build process is a Scheme function that returns the path of its result in the "store"-the /nix/store directory. The store acts as a…<p><a href="https://www.gnu.org/ghm/2012/ddorf">GNU Hackers Meeting in Düsseldorf</a>, 2012. The following is the video of the presentation "Guix, functional package management for the people, and for GNU?", by Ludovic Courtès (get the <a href="https://www.gnu.org/software/guix/guix-ghm-20120721.pdf">slides</a>).</p><video src="https://audio-video.gnu.org/video/ghm2012/guix.ogv" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://audio-video.gnu.org/video/ghm2012/guix.ogv">DOWNLOAD VIDEO</a><p>(Ogg/Theora, 84 minutes, 88.1 MiB)</p></div></video><p>Guix is a purely functional package manager written in Guile Scheme, and building on the Nix package manager. It implements purely functional package build and composition: a build process is a Scheme function that returns the path of its result in the "store"-the /nix/store directory. The store acts as a build cache, subject to garbage collection. Changing a bit in the build process's inputs (dependencies, environment variables, etc.) changes the result. </p><p> This approach provides users with features such as transactional upgrades and rollback, unprivileged package installation, coexistence of variants or versions of packages, etc. By construction, it allows users to track down all the packages involved in a build, down to the initial bootstrapping binaries. </p><p> This talk will present Guix, detail this incredible feature set, and show what it's like to package software with it. We will discuss whether and how it could fit in the Grand Plan of making a "GNU Distro"</p>