https://guix.gnu.org/feeds/blog/outreachy.atomGNU Guix — Blog — Outreachyfeed author nameGNU Guixhttps://guix.gnu.org/themes/initial/img/icon.png2024-03-20T10:58:00Zhttps://guix.gnu.org/blog/2021/outreachy-guix-git-log-internship-wrap-up//Outreachy 'guix git log' internship wrap-upMagali Lemes, Simon Tournier, Ludovic Courtès2021-04-08T17:00:00Z2021-04-08T17:00:00Z Magali Lemes joined Guix in
December
for a three-month internship with
Outreachy . Magali implemented a guix git log command to browse the history of packaging changes, with mentoring
from Simon Tournier and Gábor Boskovits. In this blog post, Magali and
Simon wrap up on what's been accomplished. Magali The first tasks I had to do were pretty simple and were mainly meant to both get
me acquainted with the source code and set the building blocks of the
project. They were very important so that I could gradually build the
subcommand. For starters, I…<p>Magali Lemes <a href="https://guix.gnu.org/en/blog/2020/add-a-subcommand-showing-gnu-guix-history-of-all-packages/">joined Guix in
December</a>
for a three-month internship with
<a href="https://www.outreachy.org/">Outreachy</a>. Magali implemented a <code>guix git log</code> command to browse the history of packaging changes, with mentoring
from Simon Tournier and Gábor Boskovits. In this blog post, Magali and
Simon wrap up on what's been accomplished.</p><h4>Magali</h4><p>The first tasks I had to do were pretty simple and were mainly meant to both get
me acquainted with the source code and set the building blocks of the
project. They were very important so that I could gradually build the
subcommand. For starters, I created a Guix repository on
<a href="https://gitlab.com/magalilemes/guix">Gitlab</a>, so that I could push all the work
I had done there, tweaked a little bit of the source code, and then proceeded to
have the <code>guix git log</code> subcommand show the default channel checkout path.</p><p>From there on, I started adding options to the subcommand. The <code>oneline</code>
option was the first and simplest option, and it pretty much emulates what
<code>git log --oneline</code> does: it displays the commit short hash id and
title. Afterwards, other options such as <code>format</code>, <code>pretty</code>, and <code>grep</code> came
along. The possibility of retrieving commits from other channels---and not
only from the default one---was also implemented. An example of invoking the
subcommand would be:</p><pre><code>guix git log --oneline --grep=guile-git</code></pre><p>The road to doing all of this wasn't always smooth. Right at the beginning of
the internship, for instance, I struggled with getting a segmentation fault
error. It was a known
<a href="https://gitlab.com/guile-git/guile-git/-/issues/21">bug</a>, and I was able to
<a href="https://lists.gnu.org/archive/html/guix-devel/2020-12/msg00226.html">overcome
it</a>.</p><p>I also got to participate in the one-day <a href="https://guix.gnu.org/en/blog/2021/meet-guix-at-fosdem-2021/">Guix
workshop</a>---a
<a href="https://fosdem.org/2021/">FOSDEM 2021</a> fringe event---and presented the work
I had done so far. It was quite nice demonstrating the subcommand, receiving
feedback and questions, and I could also get to know other things that were
being worked on in Guix.</p><p>In the
<a href="https://guix.gnu.org/en/blog/2020/add-a-subcommand-showing-gnu-guix-history-of-all-packages/">post</a>
I wrote three months ago, I mention that I wish I could gain meaningful
experience and improve my communication skills. I'm glad to say that I feel
like I was able to achieve that. Sending emails, explaining what I had done,
and asking questions about what I had to do during the weekly meetings were a
few of the situations I had to face, and that made me improve these skills. I
also had a taste of what it's like to take part in a free software project,
got to know a few people, and learned quite a lot about <a href="https://www.gnu.org/software/guile/">Guile
Scheme</a>.</p><p>One thing, though, that I wasn't able to implement in due time was the commit
limiting options, such as <code>guix git log --after=YYYY-MM-DD</code> and <code>guix git log --before=YYYY-MM-DD</code>.</p><p>Hopefully, soon users will be able to invoke <code>guix git log</code>, and have the
commit history from all Guix channels they have.</p><h4>Simon</h4><p>It was my first experience mentoring for the Outreachy program and now I am
glad I did it. I have learnt a lot on various topics. I had already
mentored interns occasionally, though it was the first time fully remote, not
on the same timezone, and with code on which I am not expert. Thanks Gábor,
Ludovic and Ricardo for pushing me to jump in this journey.</p><p>Reading back the <a href="https://lists.gnu.org/archive/html/guix-devel/2020-09/msg00108.html">initial
proposal</a>
coming from a 2019
<a href="https://lists.gnu.org/archive/html/help-guix/2019-06/msg00098.html">question</a>,
I am happy by the insofar Magali's internship. It paves the way for
<a href="https://lists.gnu.org/archive/html/guix-devel/2020-12/msg00141.html">future</a>
<a href="https://lists.gnu.org/archive/html/guix-devel/2020-12/msg00170.html">proposals</a>
or the implementation of other <code>guix git</code> subcommands.</p><h1>Next Outreachy round & acknowledgment</h1><p>Guix is participating in the upcoming Outreachy round. If you are
<a href="https://www.outreachy.org/docs/applicant/#eligibility">eligible</a>,
please <a href="https://guix.gnu.org/en/contact">get in touch with us</a> and
consider <a href="https://www.outreachy.org/docs/applicant/#outreachy-schedule">applying by April
30th</a>!</p><p>In light of recent changes at the Free Software Foundation (FSF) and
Outreachy’s subsequent <a href="https://www.outreachy.org/blog/2021-03-23/fsf-participation-barred/">decision to refuse funds coming from the
FSF</a>,
we are grateful to Software Freedom Conservancy (SFC) for their
<a href="https://sfconservancy.org/blog/2021/mar/23/outreachy-fsf/">decision to sponsor our upcoming
internship</a>.
We are working on a longer-term solution so we can keep participating
in Outreachy. In the meantime, thanks a lot, Conservancy!</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/2021/join-gnu-guix-through-outreachy//Join GNU Guix through OutreachyGábor Boskovits2021-02-10T18:30:00Z2021-02-10T18:30:00Z We are happy to announce that GNU Guix offers a
three-month paid internship through Outreachy ,
the inclusion program for groups traditionally underrepresented in free software
and tech. The initial application deadline is on Feb. 22, 2021 at 4PM UTC. For further information, check out the
timeline ,
information about the application
process , and the eligibility
rules . If you’d like to contribute
to computing freedom, Scheme, functional programming, or operating system
development, now is a good time to join us. Let’s get in touch on
the mailing lists and on the #guix channel on the…<p>We are happy to announce that GNU Guix offers a
<a href="https://www.outreachy.org">three-month paid internship through Outreachy</a>,
the inclusion program for groups traditionally underrepresented in free software
and tech.</p><p>The initial application deadline is on Feb. 22, 2021 at 4PM UTC.</p><p>For further information, check out the
<a href="https://www.outreachy.org/apply/project-selection">timeline</a>,
<a href="https://www.outreachy.org/apply">information about the application
process</a>, and the <a href="https://www.outreachy.org/apply/eligibility">eligibility
rules</a>.</p><p>If you’d like to <a href="https://guix.gnu.org/manual/en/html_node/Contributing.html">contribute</a>
to computing freedom, Scheme, functional programming, or operating system
development, now is a good time to join us. Let’s get in touch on
<a href="https://guix.gnu.org/en/contact/">the mailing lists and on the <code>#guix</code> channel on the Freenode IRC
network</a>!</p><p>Prospective mentors and applicants are encouraged to collect the draft proposals on the <a href="https://libreplanet.org/wiki/Group:Guix/Outreachy-2021-summer">Guix Outreachy 2021 summer ideas</a> page.</p><p>In the ongoing round, we have the pleasure to work with Magali Lemes as
an Outreachy intern, who is working on the <a href="https://guix.gnu.org/en/blog/2020/add-a-subcommand-showing-gnu-guix-history-of-all-packages/"><code>guix git log</code></a>
command.</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/add-a-subcommand-showing-gnu-guix-history-of-all-packages//Add a subcommand showing GNU Guix history of all packagesMagali Lemes2020-12-04T12:00:00Z2020-12-04T12:00:00Z Hello, everyone! I'm Magali and for the next three months, I'll be an
Outreachy intern in the GNU Guix
community. As part of my Outreachy application process, I made my first
ever contribution to Free Software adding a package to Guix, and since
then I'm eager to begin contributing even more. My task for this three-month period is to add a subcommand showing the
history of all packages. Although Guix makes it possible to install and
have an older version of a package, it isn't as easy to find, for
example, the commit related to these versions. The subcommand I'll implement…<p>Hello, everyone! I'm Magali and for the next three months, I'll be an
<a href="https://www.outreachy.org/">Outreachy</a> intern in the GNU Guix
community. As part of my Outreachy application process, I made my first
ever contribution to Free Software adding a package to Guix, and since
then I'm eager to begin contributing even more.</p><p>My task for this three-month period is to add a subcommand showing the
history of all packages. Although Guix makes it possible to install and
have an older version of a package, it isn't as easy to find, for
example, the commit related to these versions.</p><p>The subcommand I'll implement will be something like <code>guix git log</code>.
The idea is that, for instance, when the user invokes
<code>guix git log --oneline | grep msmtp</code>, a list with all the commits,
one per line, related to msmtp, will be shown.</p><p>In order to accomplish my task, I have to sharpen up my Scheme skills,
learn more about the guile-git, which is a Guile library that provides
bindings to <a href="https://libgit2.org/">libgit2</a>. So, to begin with, I'll
dive into the Guix code and see how commands are built.</p><p>By the end of this internship, I hope to learn much more than just
programming. I also expect to gain meaninful experience and improve my
communication skills.</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/2020/welcome-our-intern-for-the-outreachy-2020-2021-round//Welcome our intern for the Outreachy 2020-2021 roundGábor Boskovits, Simon Tournier2020-11-30T15:30:00Z2020-11-30T15:30:00Z We are thrilled to announce that Magali L. Sacramento (IRC: lemes ) will join Guix
as an Outreachy intern over the next few months. Magali will work on adding a
subcommand
to Guix showing the history of all packages. This will facilitate the use of
guix time-machine
and inferiors, as it will add support to easily search for a given package
version on all the defined channels. Simon Tournier will be the primary mentor, with Gábor Boskovits co-mentoring, and the
whole community will undoubtedly help and provide guidance, as…<p>We are thrilled to announce that Magali L. Sacramento (IRC: <code>lemes</code>) will join Guix
as an <a href="https://www.outreachy.org">Outreachy</a> intern over the next few months.</p><p><img src="/static/blog/img/outreachy+guix.png" alt="Outreachy logo" /></p><p>Magali will work on <a href="https://lists.gnu.org/archive/html/guix-devel/2020-09/msg00108.html">adding a
subcommand</a>
to Guix showing the history of all packages. This will facilitate the use of
<a href="https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-time_002dmachine"><code>guix time-machine</code></a>
and inferiors, as it will add support to easily search for a given package
version on all the defined channels.</p><p>Simon Tournier will be the primary mentor, with Gábor Boskovits co-mentoring, and the
whole community will undoubtedly help and provide guidance, as it has always done.</p><p>Welcome, and looking forward to work together!</p><h2>About GNU Guix</h2><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 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/improve-internationalization-support-for-the-guix-data-service//Improve Internationalization Support for the Guix Data ServiceDanjela Lura2020-07-23T12:00:00Z2020-07-23T12:00:00Z The first half of my Outreachy
internship is already over and I am really excited to share my
experience. Over the past weeks I’ve had the opportunity to work on
the Guix Data Service , watch myself
change, and accomplish way more than I thought I would. The Guix Data Service processes, stores and provides data about Guix
over time. It provides a complementary interface to Guix itself by
having a web interface and API to browse and access the data. The work I have done so far revolves around storing translated lint
checker descriptions as well as…<p>The first half of my <a href="https://www.outreachy.org/">Outreachy</a>
internship is already over and I am really excited to share my
experience. Over the past weeks I’ve had the opportunity to work on
the <a href="https://data.guix.gnu.org/">Guix Data Service</a>, watch myself
change, and accomplish way more than I thought I would.</p><p>The Guix Data Service processes, stores and provides data about Guix
over time. It provides a complementary interface to Guix itself by
having a web interface and API to browse and access the data.</p><p>The work I have done so far revolves around storing translated <a href="https://guix.gnu.org/manual/en/html_node/Invoking-guix-lint.html">lint
checker descriptions</a> as well as package synopsis and
descriptions in the Guix Data Service PostgreSQL database and making
them available through the Guix Data Service web interface.</p><p>Initially the Guix Data Service database had translated versions of
lint warning messages available, but they were not accessible through
the web interface, so I made that possible during the <a href="https://www.outreachy.org/docs/applicant/#make-contributions">contribution
period</a>.</p><p>Working on making lint warning messages available on the web interface
made it easier for me to understand how translations for lint checker
descriptions and package synopsis and descriptions would be stored in
the database and later on be made available through the Guix Data
Service web interface. At this point, the Guix Data Service supports
package synopsis and descriptions as well as lint checker descriptions
in various locales.</p><p><img src="/static/blog/img/guix-data-service-audacity.png" alt="Guix Data Service page for the audacity package, in the Spanishlocale" /></p><p>Hopefully these changes will provide the Guix Data Service users with
a more feasible way to interact with Guix data.</p><p>I have to note that this is my first internship and I was initially
reluctant to believe that I would be able to tackle or successfully
accomplish the tasks I was assigned, but with my mentor’s help and
guidance I managed to. So far it has been a rewarding experience
because it has helped me make progress in so many aspects, whilst
contributing to a project that will potentially increase inclusion.</p><p>While working on this project, I’ve significantly improved my Guile,
SQL, and Git skills and I am now more aware of how software
localization is achieved. In addition to getting more technically
skilled, this internship has taught me how to manage time and emotions
when dealing with more than one activity at a time.</p><p>Now that a good share of what was initially planned to be done is
accomplished, my mentor suggested working on something using the Guix
Data Service data and I will be engaged in that during the remaining
half.</p><p>These first 7 weeks of my internship have gone by really fast, but I
have enjoyed everything and I am so eager to experience what's to
come.</p>https://guix.gnu.org/blog/2020/guix-welcomes-outreachy-and-gsoc-interns//Guix welcomes Outreachy and GSoC internsGábor Boskovits2020-05-12T12:00:00Z2020-05-12T12:00:00Z We are thrilled to announce that three people will join Guix as interns
over the next few months! As part of Google’s Summer of Code (GSoC),
under the umbrella of the GNU Project, one person is joining us: Brice Waegeneire (liberdiko) will work on network booting Guix System .
This will involve both making Guix System network bootable,
and making it easy to set up a network boot server on Guix System. Through Outreachy , the internship program
for groups underrepresented in free software and tech, two people will
join: Danjela will work on improving internationalization…<p>We are thrilled to announce that three people will join Guix as interns
over the next few months! As part of Google’s Summer of Code (GSoC),
under the umbrella of the GNU Project, one person is joining us:</p><ul><li>Brice Waegeneire (liberdiko) will work on <a href="https://libreplanet.org/wiki/Group:Guix/GSoC-2020#Booting_via_network">network booting Guix System</a>.
This will involve both making Guix System network bootable,
and making it easy to set up a network boot server on Guix System.</li></ul><p>Through <a href="https://www.outreachy.org">Outreachy</a>, the internship program
for groups underrepresented in free software and tech, two people will
join:</p><ul><li>Danjela will work on improving internationalization support for the
<a href="https://data.guix.gnu.org/">Guix Data Service</a>,</li><li>Raghav Gururajan will work on integrating desktop environments
into Guix System.</li></ul><p>Christopher Baines and Danny Milosavljevic will be their
primary mentors, and the whole Guix crowd will undoubtedly help and
provide guidance as it has always done.</p><p>We welcome all three interns, exciting things are sure to come!</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/2020/gsoc-2020-and-outreachy-may-2020-to-august-2020-status-report-ii//GSoC 2020 and Outreachy May 2020 to August 2020 Status Report IIGábor Boskovits2020-02-29T15:00:00Z2020-02-29T15:00:00Z GSoC We are happy to announce that GNU Guix participates in the
Google Summer of Code (GSoC),
under the aegis of the
GNU project .
We have collected project ideas related to GNU Guix.
The list is far from exhaustive, so feel free to bring your own! The GNU Project participation was announced on Feb. 20. Thanks for the GNU org admins for organizing this. The application period is from March 16. to March 31. The final proposal submission deadline is March 31., 2020 at 20:00 CEST. The student projects are announced on April…<h4>GSoC</h4><p>We are happy to announce that GNU Guix participates in the
<a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a> (GSoC),
under the aegis of the
<a href="https://www.gnu.org/software/soc-projects/ideas-2020.html">GNU project</a>.
We have collected <a href="https://libreplanet.org/wiki/Group:Guix/GSoC-2020">project ideas</a> related to GNU Guix.
The list is far from exhaustive, so feel free to bring your own!</p><p>The GNU Project participation was announced on Feb. 20. Thanks for the GNU org admins for organizing this.</p><p>The application period is from March 16. to March 31. The final proposal submission deadline is March 31., 2020 at 20:00 CEST.</p><p>The student projects are announced on April 27., 2020. We will have to provide the number of slots requested to the GNU
project, so that they can accumulate the numbers to pass on to Google. This takes some time, so please prepare the decision
early, so we don't have to hurry when this information is requested. We kindly remind everyone involved
not to communicate an intern selection decision before the official announcement.</p><p>Internship information</p><ul><li><a href="https://summerofcode.withgoogle.com/">general</a></li><li><a href="https://libreplanet.org/wiki/Group:Guix/GSoC-2020">Guix ideas page</a></li><li><a href="https://summerofcode.withgoogle.com/how-it-works/#timeline">timeline</a></li></ul><p><a href="https://guix.gnu.org/blog/tags/gsoc/">Information about GSoC internships</a> related to the GNU Guix community.</p><h4>Outreachy</h4><p>We are happy to announce that GNU Guix offers a
<a href="https://www.outreachy.org">three-month internship through Outreachy</a>,
the inclusion program for groups traditionally underrepresented in free
software and tech.</p><p>We currently propose <a href="https://www.outreachy.org/apply/project-selection/#gnu-guix">three subjects</a> to work on:</p><ol><li>Create <a href="https://linux.die.net/man/7/netlink">Netlink</a> bindings in Guile.</li><li>Improve internationalization support for the <a href="http://data.guix.gnu.org">Guix Data Service</a>.</li><li>Integration of desktop environments into GNU Guix.</li></ol><p>The initial application deadline was on Feb. 25, 2020 at 4PM UTC, so initial applications are now closed.
This means that prospective applicants how did not do the initial application yet will have to apply for
a later Outreachy round.</p><p>The project list was finalized on Feb. 27. This means that no new proposals can be added for this round, so
the list above is final.</p><p>Funding was confirmed for two internships this round. Thanks for the members of the spending committee, who
are taking care of the financial side of this.</p><p>Co-mentor applications are still open, prospective mentors are encouraged to apply on the
<a href="https://www.outreachy.org/communities/cfp/gnu-guix/">Guix community page</a>.</p><p>The next phase is the contribution period: March 5, 2020 to April 7, 2020.
Also the final application deadline is April 7, 2020 at 4PM UTC.</p><p>In this phase applicants are working with the mentors on the projects,
and they have to register a contribution. A registered contribution
is a mandatory requirement.</p><p>Accepted interns will be announced on April 27, 2020 at 4PM UTC. We kindly remind everyone involved
not to communicate an intern selection decision before the official announcement.</p><p>Internship information:</p><ul><li><a href="https://www.outreachy.org">general</a></li><li><a href="https://www.outreachy.org/communities/cfp/gnu-guix/">Guix community page</a></li><li><a href="https://www.outreachy.org/apply/project-selection">timeline</a>,</li></ul><p>Last year we had the pleasure to welcome Laura Lazzati as an Outreachy intern working on
<a href="https://guix.gnu.org/blog/2019/documentation-video-creation/">documentation video creation</a>,
which led to the videos you can now see on the home page.</p><p><a href="https://guix.gnu.org/blog/tags/outreachy/">Information about Outreachy internships</a> related to the GNU Guix community.</p><h4>Contributions</h4><p>If you’d like to <a href="https://guix.gnu.org/manual/en/html_node/Contributing.html">contribute</a>
to computing freedom, Scheme, functional programming, or operating system
development, now is a good time to join us. Let’s get in touch on
<a href="https://guix.gnu.org/contact/">the mailing lists and on the <code>#guix</code> channel on the Freenode IRC
network</a>!</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/2020/outreachy-may-2020-to-august-2020-status-report-i//Outreachy May 2020 to August 2020 Status Report IGábor Boskovits2020-02-09T14:30:00Z2020-02-09T14:30:00Z We are happy to announce that for the fourth time GNU Guix offers a
three-month internship through Outreachy ,
the inclusion program for groups traditionally underrepresented in free software
and tech. We currently propose three subjects to work on: Create Netlink bindings in Guile. Improve internationalization support for the Guix Data Service . Integration of desktop environments into GNU Guix. The initial application deadline is on Feb. 25, 2020 at 4PM UTC. The final project list is announced on Feb. 25, 2020. Should you have any questions regarding…<p>We are happy to announce that for the fourth time GNU Guix offers a
<a href="https://www.outreachy.org">three-month internship through Outreachy</a>,
the inclusion program for groups traditionally underrepresented in free software
and tech. We currently propose <a href="https://www.outreachy.org/apply/project-selection/#gnu-guix">three subjects</a> to work on:</p><ol><li>Create <a href="https://linux.die.net/man/7/netlink">Netlink</a> bindings in Guile.</li><li>Improve internationalization support for the <a href="http://data.guix.gnu.org">Guix Data Service</a>.</li><li>Integration of desktop environments into GNU Guix.</li></ol><p>The initial application deadline is on Feb. 25, 2020 at 4PM UTC.</p><p>The final project list is announced on Feb. 25, 2020.</p><p>Should you have any questions regarding the internship, please check out the
<a href="https://www.outreachy.org/apply/project-selection">timeline</a>,
<a href="https://www.outreachy.org/apply">information about the application
process</a>, and the <a href="https://www.outreachy.org/apply/eligibility">eligibility
rules</a>.</p><p>If you’d like to <a href="https://guix.gnu.org/manual/en/html_node/Contributing.html">contribute</a>
to computing freedom, Scheme, functional programming, or operating system
development, now is a good time to join us. Let’s get in touch on
<a href="https://guix.gnu.org/contact/">the mailing lists and on the <code>#guix</code> channel on the Freenode IRC
network</a>!</p><p>Last year we had the pleasure to welcome Laura Lazzati as an Outreachy intern working on <a href="https://guix.gnu.org/blog/2019/documentation-video-creation/">documentation video creation</a>, which led to the videos you can now see on the home page.</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/2020/join-gnu-guix-through-outreachy//Join GNU Guix through OutreachyGábor Boskovits2020-01-13T14:30:00Z2020-01-13T14:30:00Z We are happy to announce that for the fourth time GNU Guix offers a
three-month internship through Outreachy ,
the inclusion program for groups traditionally underrepresented in free software
and tech. We currently propose four subjects to work on: Implement netlink bindings for Guile. Improve internationalization support for the Guix Data Service . Add accessibility support for the Guix System Installer . Add monitoring support for the Guix daemon and Cuirass . The initial applications for this round open on Jan. 20, 2020 at 4PM UTC and…<p>We are happy to announce that for the fourth time GNU Guix offers a
<a href="https://www.outreachy.org">three-month internship through Outreachy</a>,
the inclusion program for groups traditionally underrepresented in free software
and tech. We currently propose <a href="https://www.outreachy.org/apply/project-selection/#gnu-guix">four subjects</a> to work on:</p><ol><li>Implement <a href="https://linux.die.net/man/7/netlink">netlink</a> bindings for Guile.</li><li>Improve internationalization support for the <a href="http://data.guix.gnu.org">Guix Data Service</a>.</li><li>Add accessibility support for the <a href="https://guix.gnu.org/manual/en/html_node/Guided-Graphical-Installation.html">Guix System Installer</a>.</li><li>Add monitoring support for the Guix daemon and <a href="https://guix.gnu.org/manual/en/html_node/Continuous-Integration.html">Cuirass</a>.</li></ol><p>The initial applications for this round open on Jan. 20, 2020 at 4PM UTC and the initial application deadline is on Feb. 25, 2020 at 4PM UTC.</p><p>The final project list is announced on Feb. 25, 2020.</p><p>For further information, check out the
<a href="https://www.outreachy.org/apply/project-selection">timeline</a>,
<a href="https://www.outreachy.org/apply">information about the application
process</a>, and the <a href="https://www.outreachy.org/apply/eligibility">eligibility
rules</a>.</p><p>If you’d like to <a href="https://guix.gnu.org/manual/en/html_node/Contributing.html">contribute</a>
to computing freedom, Scheme, functional programming, or operating system
development, now is a good time to join us. Let’s get in touch on
<a href="https://guix.gnu.org/contact/">the mailing lists and on the <code>#guix</code> channel on the Freenode IRC
network</a>, or come chat with us <a href="https://guix.gnu.org/blog/2020/meet-guix-at-fosdem-2020/">at
FOSDEM</a>!</p><p>Last year we had the pleasure to welcome Laura Lazzati as an Outreachy intern working on <a href="https://guix.gnu.org/blog/2019/documentation-video-creation/">documentation video creation</a>, which led to the videos you can now see on the home page.</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/join-gnu-guix-through-outreachy//Join GNU Guix through OutreachyGábor Boskovits2019-10-01T18:00:00Z2019-10-01T18:00:00Z We are happy to announce that for the third time GNU Guix offers a
three-month internship through Outreachy ,
the inclusion program for groups traditionally underrepresented in free software
and tech. We currently propose two subjects to work on: Create Netlink bindings in Guile Improve internationalization support for the Guix Data Service If you’d like to contribute
to computing freedom, Scheme, functional programming, or operating system
development, now is a good time to join us. Let’s get in touch on
the mailing lists and on the #guix channel on the Freenode IRC network…<p>We are happy to announce that for the third time GNU Guix offers a
<a href="https://www.outreachy.org">three-month internship through Outreachy</a>,
the inclusion program for groups traditionally underrepresented in free software
and tech. We currently propose <a href="https://www.outreachy.org/apply/project-selection/#gnu-guix">two subjects</a> to work on:</p><ol><li>Create Netlink bindings in Guile</li><li>Improve internationalization support for the Guix Data Service</li></ol><p>If you’d like to <a href="https://guix.gnu.org/manual/en/html_node/Contributing.html">contribute</a>
to computing freedom, Scheme, functional programming, or operating system
development, now is a good time to join us. Let’s get in touch on
<a href="https://guix.gnu.org/contact/">the mailing lists and on the #guix channel on the Freenode IRC network</a>!</p><p>Last year we had the pleasure to welcome Laura Lazzati as an Outreachy intern working on <a href="https://guix.gnu.org/blog/2019/documentation-video-creation/">documentation video creation</a>.</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/2019/documentation-video-creation//Documentation video creationLaura Lazzati2019-03-15T12:00:00Z2019-03-15T12:00:00Z Over the last few months, I have been working as an
Outreachy intern with the GNU Guix crowd
to develop videos presenting and documenting the project.
My goal in this round as an Outreachy
intern for the December 2018 to March 2019 period consists of creating introductory documentation videos
about different topics for people who would like to use GNU Guix,
admins and/or those who would like to join Guix community and don’t
know where to start. Even interested or having a clear documentation, they
might feel overwhelmed by it. I experienced this issue in the past with people in another context. My main tasks consist…<p>Over the last few months, I have been working as an
<a href="https://www.outreachy.org/">Outreachy</a> intern with the GNU Guix crowd
to develop videos presenting and documenting the project.
My goal in this round as an Outreachy
intern for the December 2018 to March 2019 period consists of creating introductory documentation videos
about different topics for people who would like to use GNU Guix,
admins and/or those who would like to join Guix community and don’t
know where to start. Even interested or having a clear documentation, they
might feel overwhelmed by it. I experienced this issue in the past with people in another context.</p><p>My main tasks consist of creating a workflow for
automating as much as possible the process of creating the videos, as well as,
of course, creating the videos themselves. Creating the videos is not that easy
as it might seem, I have to design them (I cannot automate that part), let
the audio match the video, and matching the exact timing is quite difficult.
Something very important that I should mention is that the workflow currently
allows translations to other languages.</p><p>It is a work in progress for too many reasons, specially because it keeps
being improved all the time.</p><p>Also, I had to study tools deeply both for the creation of the workflow and the videos
because I did not know them beforehand or I knew just the basics.</p><p>After trying several approaches for the workflow, the current one consists of
creating “pieces of videos” and gluing them together in the end.</p><p>These “pieces of videos” may consist of:</p><ul><li>Slide videos: they contain only a sequence of one or more slides.</li><li>Command line session videos: they contain only Guix or shell commands and
their output, without showing any slide at all.</li></ul><h5>Workflow for creating each slide video.</h5><p><img src="https://www.gnu.org/software/guix/static/blog/img/outreachy-2019-slide-video.png" alt="slide" /></p><p>The inputs are SVG files and audio files.
First, SVGs are converted to PNGs (“the slides”).
Then, a text file having the order in which each slide will
appear and the duration of the audio that matches it is created.
An audio text file containing all the audio files sorted to
have a complete audio file is created too.
Lastly, with the slides' text file that has the reference to the slide files
and the glued audio file the final slide video is made.</p><h5>Workflow for creating each command line session video.</h5><p><img src="https://www.gnu.org/software/guix/static/blog/img/outreachy-2019-cli-video.png" alt="cli" /></p><p>The input is a session text file that has commands or meta-commands that
are used to simulate, for example, the typing of a command, or the printing of
it’s output.
This file is passed to a Guile script that is in charge of executing the
commands defined in the input text file and take text snapshots at a fixed time
interval. Then, all these files are converted to postscript format. After
that, they are transformed to SVG format. Finally, the process is repeated and
the audio and the slides are glued to have final command line session video.</p><h5>Workflow for creating the final video.</h5><p><img src="https://www.gnu.org/software/guix/static/blog/img/outreachy-2019-gluing-video.png" alt="gluing" /></p><p>Slide videos and command line videos are a “bunch of videos”
that need to be glued into the final one. They are sorted, and using the
same tool for video creation our final introductory video is created.</p><p>The code for this video creation workflow is available
<a href="https://git.savannah.gnu.org/cgit/guix/videos.git">on Savannah</a>.
Enjoy!</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><blockquote><p><em>This post does not yet carry an agreed-upon license.</em></p></blockquote>https://guix.gnu.org/blog/2018/gnu-guix-receives-donation-from-the-handshake-project//GNU Guix receives donation from the Handshake projectLudovic Courtès, Tobias Geerinckx-Rice, Ricardo Wurmus2018-12-03T22:00:00Z2018-12-03T22:00:00Z Just a few days after it turned
six ,
Guix received a great birthday present: the Handshake
project , which works on the design and
implementation of a decentralized naming protocol compatible with the
Domain Name System (DNS), made a large donation to the GNU Project
via the Free Software Foundation
(FSF) .
Of this donation, 100,000 USD go to GNU Guix. This donation will allow the project to guarantee its independence,
invest in hardware for its build farm, and develop new features to
benefit all our users. We will be able to grow the performance and reliability of our…<p>Just a few days after <a href="https://lists.gnu.org/archive/html/guix-devel/2018-11/msg00446.html">it turned
six</a>,
Guix received a great birthday present: the <a href="https://www.handshake.org/">Handshake
project</a>, which works on the design and
implementation of a decentralized naming protocol compatible with the
Domain Name System (DNS), <a href="https://www.fsf.org/news/free-software-foundation-receives-1-million-from-handshake">made a large donation to the GNU Project
<em>via</em> the Free Software Foundation
(FSF)</a>.
Of this donation, 100,000 USD go to GNU Guix.</p><p><img src="https://www.gnu.org/software/guix/static/blog/img/handshake+guix.png" alt="Handshake & Guix logos." /></p><p>This donation will allow the project to guarantee its independence,
invest in hardware for its build farm, and develop new features to
benefit all our users.</p><p>We will be able to grow the performance and reliability of our existing
infrastructure. We also envision better support for new and liberating
architectures, and more resilient long-term storage of binaries and
source code.</p><p>It will also allow us to continue our outreach efforts and attract new
interns, for example through <a href="https://www.outreachy.org/">Outreachy</a>, to
further improve and promote the project.</p><p>The project funds are held by the FSF and spending is overseen by a
committee currently consisting of Ricardo Wurmus, Tobias Geerinckx-Rice,
and Ludovic Courtès, all core Guix developers. The FSF is the fiscal
sponsor of <a href="https://www.fsf.org/working-together/fund">free software
efforts</a>, including Guix, as
part of its <a href="https://my.fsf.org/associate/donate/working-together">Working Together for Free Software
fund</a>. Other
recipients include GNU Octave, the GNU Tool Chain, and Replicant.
Congratulations to them as well!</p><p>Above all, a big thank you to Handshake for its support of free software
and GNU! The least we could do to show our appreciation was to add a
package definition for the Handshake resolver daemon, <a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=91a4863d9d727754d1743f4c0591c63b950494cf">which we just
did</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 i686, x86_64, ARMv7, and AArch64 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/join-gnu-guix-through-outreachy//Join GNU Guix through OutreachyGábor Boskovits2018-10-04T10:00:00Z2018-10-04T10:00:00Z We are happy to announce that for the second time this year, GNU Guix offers a
three-month internship through Outreachy ,
the inclusion program for groups traditionally underrepresented in free software
and tech. We currently propose one subject to work on: Create user video documentation for GNU Guix . Eligible persons should apply
by November 22th . If you’d like to contribute
to computing freedom, Scheme, functional programming, or operating system
development, now is a good time to join us. Let’s get in touch on
the mailing lists and on the #guix…<p>We are happy to announce that for the second time this year, GNU Guix offers a
<a href="https://www.outreachy.org/december-2018-march-2019-outreachy-internships/communities/gnu-guix/">three-month internship through Outreachy</a>,
the inclusion program for groups traditionally underrepresented in free software
and tech. We currently propose one subject to work on:</p><ol><li><a href="https://www.outreachy.org/december-2018-march-2019-outreachy-internships/communities/gnu-guix/#create-user-video-documentation-for-gnu-guix">Create user video documentation for GNU Guix</a>.</li></ol><p><a href="https://www.outreachy.org/apply/eligibility/">Eligible persons</a> should apply
<a href="https://www.outreachy.org/communities/cfp/">by November 22th</a>.</p><p>If you’d like to <a href="https://www.gnu.org/software/guix/manual/en/html_node/Contributing.html">contribute</a>
to computing freedom, Scheme, functional programming, or operating system
development, now is a good time to join us. Let’s get in touch on
<a href="https://www.gnu.org/software/guix/contact/">the mailing lists and on the #guix channel on the Freenode IRC network</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="https://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 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-welcomes-outreachy-gsoc-and-guix-hpc-interns//Guix welcomes Outreachy, GSoC, and Guix-HPC internsLudovic Courtès2018-04-26T17:00:00Z2018-04-26T17:00:00Z We are thrilled to announce that five people will join Guix as interns
over the next few months! As part of Google’s Summer of Code (GSoC),
under the umbrella of the GNU Project, three people are joining us: Tatiana Sholokhova will work on a Web interface for the Guix
continuous integration (CI) tool,
Cuirass ,
similar in spirit to that of Hydra .
Cuirass was started as part of GSoC
2016 . uniq10 will take over the build daemon rewrite in Scheme, a project
started as part of last year's GSoC by reepca. The existing code
lives in the …<p>We are thrilled to announce that five people will join Guix as interns
over the next few months! As part of Google’s Summer of Code (GSoC),
under the umbrella of the GNU Project, three people are joining us:</p><ul><li>Tatiana Sholokhova will work on a Web interface for the Guix
continuous integration (CI) tool,
<a href="https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git">Cuirass</a>,
similar in spirit to <a href="https://hydra.gnu.org">that of Hydra</a>.
Cuirass was started as part of <a href="https://www.gnu.org/software/guix/blog/2016/gnu-guix-welcomes-four-students-for-gsoc/">GSoC
2016</a>.</li><li>uniq10 will take over the build daemon rewrite in Scheme, a project
started as part of last year's GSoC by reepca. The existing code
lives in the <a href="https://git.savannah.gnu.org/cgit/guix.git/log/?h=guile-daemon"><code>guile-daemon</code>
branch</a>.
<a href="https://lists.gnu.org/archive/html/guix-devel/2017-08/msg00267.html">Results from last
year</a>
already got us a long way towards a drop-in replacement of the
current C++ code base.</li><li>Ioannis P. Koutsidis will work on implementing semantics similar to
that of systemd unit files in <a href="https://www.gnu.org/software/shepherd">the
Shepherd</a>, the “init system”
(PID 1) used on GuixSD.</li></ul><p>Through <a href="https://www.outreachy.org">Outreachy</a>, the inclusion program
for groups underrepresented in free software and tech, one person will
join:</p><ul><li>Sahithi Yarlagadda will work <a href="https://www.outreachy.org/communities/cfp/gnu-guix/project/improve-the-user-experience-for-the-guix-package-c/">improving the user experience for the
<code>guix package</code> command-line
tool</a>.</li></ul><p>Finally, we are welcoming one intern as part of the
<a href="https://hpc.guix.info">Guix-HPC</a> effort:</p><ul><li>Pierre-Antoine Rouby arrived a couple of weeks ago at
<a href="https://www.inria.fr/en">Inria</a> for a four-month internship on
improving the user experience of Guix in high-performance computing
(HPC) and reproducible scientific workflows. Pierre-Antoine has
already contributed a couple of HPC package definitions and will
next look at tools such as
<a href="https://github.com/UMCUGenetics/hpcguix-web">hpcguix-web</a>, <a href="https://hpc.guix.info/blog/2017/10/using-guix-without-being-root/"><code>guix pack</code></a>,
and more.</li></ul><p>Gábor Boskovits, Ricardo Wurmus, and Ludovic Courtès will be their
primary mentors, and the whole Guix crowd will undoubtedly help and
provide guidance as it has always done. Welcome to all of you!</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/join-gnu-guix-outreachy-gsoc//Join GNU Guix through Outreachy or GSoCLudovic Courtès2018-02-19T17:00:00Z2018-02-19T17:00:00Z We are happy to announce that for the first time this year, GNU Guix
offers a three-month internship through
Outreachy ,
the inclusion program for groups traditionally underrepresented in free
software and tech. We currently propose two subjects to work on: improving the user experience for the guix package command-line
tool ; enhancing Guile tools for the Guix package
manager . Eligible persons should
apply by March 22nd . Guix also participates in the Google Summer of
Code (GSoC), under the aegis of
the GNU
Project . We
have collected project…<p>We are happy to announce that for the first time this year, GNU Guix
offers <a href="https://www.outreachy.org/2018-may-august/communities/gnu-guix/">a three-month internship through
Outreachy</a>,
the inclusion program for groups traditionally underrepresented in free
software and tech. We currently propose two subjects to work on:</p><ol><li><a href="https://www.outreachy.org/communities/cfp/gnu-guix/project/improve-the-user-experience-for-the-guix-package-c/">improving the user experience for the <code>guix package</code> command-line
tool</a>;</li><li><a href="https://www.outreachy.org/communities/cfp/gnu-guix/project/enhance-guile-tools-for-the-guix-package-manager/">enhancing Guile tools for the Guix package
manager</a>.</li></ol><p><a href="https://www.outreachy.org/apply/eligibility/">Eligible persons</a> should
apply <a href="https://www.outreachy.org/communities/cfp/">by March 22nd</a>.</p><p>Guix also participates in the <a href="https://summerofcode.withgoogle.com/">Google Summer of
Code</a> (GSoC), under the aegis of
the <a href="https://www.gnu.org/software/soc-projects/ideas-2018.html">GNU
Project</a>. We
have collected project ideas for <a href="https://libreplanet.org/wiki/Group:Guix/GSoC-2018">Guix,
GuixSD</a>, and <a href="https://libreplanet.org/wiki/Group:Guix/GSoC-2018#Project_ideas_for_the_GNU_Shepherd">the GNU
Shepherd</a>,
covering a range of topics. The list is far from exhaustive, so feel
free to bring your own!</p><p>If you are an <a href="https://developers.google.com/open-source/gsoc/faq#students">eligible
student</a>,
make sure to apply <a href="https://developers.google.com/open-source/gsoc/timeline">by March 27th</a>.</p><p>If you’d like to
<a href="https://www.gnu.org/software/guix/manual/en/html_node/Contributing.html">contribute</a>
to computing freedom, Scheme, functional programming, or operating
system development, now is a good time to join us. Let’s get in touch
on <a href="https://www.gnu.org/software/guix/contact/">the mailing lists and on the <code>#guix</code> channel on the Freenode IRC
network</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>