<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>Guixotic</title><id>https://guixotic.coop/feeds/tags/guix.xml</id><subtitle>Tag: guix</subtitle><updated>2026-08-26T00:15:47Z</updated><link href="https://guixotic.coop/feeds/tags/guix.xml" rel="self" /><link href="https://guixotic.coop" /><entry><title>We've Been Awarded An NLnet Grant for GNU Taler Packaging!</title><id>https://guixotic.coop/blog/2026/ngi-taler-grant.html</id><author><name>Guixotic</name><email>contact@guixotic.coop</email></author><updated>2026-08-19T12:00:00Z</updated><link href="https://guixotic.coop/blog/2026/ngi-taler-grant.html" rel="alternate" /><content type="html">&lt;figure style=&quot;margin: 20px; overflow: hidden;&quot;&gt;
&lt;img src=&quot;/assets/img/posts/nlnet-logo.svg&quot; align=&quot;left&quot; width=&quot;47%&quot; /&gt;
&lt;img src=&quot;/assets/img/posts/ngi-taler-logo.svg&quot; align=&quot;right&quot; width=&quot;47%&quot; /&gt;
&lt;/figure&gt;
&lt;p&gt;We are happy to announce that Guixotic has been awarded a grant by &lt;a href=&quot;https://nlnet.nl/&quot;&gt;NLnet&lt;/a&gt; as part of the &lt;a href=&quot;https://nlnet.nl/thema/NGITALERFund.html&quot;&gt;NGI TALER Fund&lt;/a&gt;! This grant will fund &lt;a href=&quot;https://nlnet.nl/project/Taler-Guix-packaging/&quot;&gt;our work&lt;/a&gt; to bring the main components and extensions of &lt;a href=&quot;https://www.taler.net&quot;&gt;GNU Taler&lt;/a&gt;, a privacy-friendly payment system, to GNU Guix.&lt;/p&gt;
&lt;p&gt;If you haven’t heard of TALER before, you might be curious what this all means. NGI TALER is a European-funded project to make a new electronic payment system, built on the GNU Taler free software, for everyone. TALER’s goal is to be a fast, easy payment system with low overhead, that puts buyers' privacy first, both as a principle and as a practical concern. Payments are &lt;a href=&quot;https://wikipedia.org/wiki/Blind_signature&quot;&gt;blindly signed&lt;/a&gt; and structured to be low-cost across different currencies. TALER is designed to be a private, auditable, trustworthy, open, and transparent payment system. This effort is part of the &lt;a href=&quot;https://ngi.eu/&quot;&gt;Next Generation Internet&lt;/a&gt; initiative for a sustainable and open internet.&lt;/p&gt;
&lt;p&gt;Our grant is a part of this larger project, and our work is to package GNU Taler components for Guix, so they can be used on any GNU/Linux distribution. In addition to helping make Taler more widely available, our work will also bring the strengths of Guix with isolated, reproducible builds completely from source code through the entire dependency chain. We've identified 15 total packages from GNU Taler to bring to Guix, setting the stage for the larger goal of NGI TALER to make this new payment system a reality.&lt;/p&gt;
&lt;p&gt;As part of the NGI TALER fund, we are joining a larger group of projects working on bringing Taler to various existing payment platforms, banking systems, and software ecosystems. In addition, several other members of the Guix and Guile community have had projects funded by NLnet, like recent grants for work on a &lt;a href=&quot;https://nlnet.nl/project/Guix-bootstrap-Node.js/&quot;&gt;reproducible bootstrap for Node.js&lt;/a&gt; or &lt;a href=&quot;https://nlnet.nl/project/Guix-Hurd/&quot;&gt;64-bit Hurd&lt;/a&gt;. We are pleased to be joining these projects in helping further Guix as a leader in user-freedom respecting technology. Our many thanks to NLnet for their continuing contributions to Taler and the Guix ecosystem!&lt;/p&gt;
</content></entry><entry><title>FSF40 Hackathon</title><id>https://guixotic.coop/blog/2025/fsf40-hackathon.html</id><author><name>Guixotic</name><email>contact@guixotic.coop</email></author><updated>2025-11-24T09:00:00Z</updated><link href="https://guixotic.coop/blog/2025/fsf40-hackathon.html" rel="alternate" /><content type="html">&lt;p&gt;This past weekend, Guixotic participated in the &lt;a href=&quot;https://www.fsf.org/news/fsf40-hackathon-registration-now-open&quot;&gt;FSF40
Hackathon&lt;/a&gt;,
a Free Software Foundation (FSF) organized event in celebration of
their 40th anniversary. The hackathon was held virtually over the
course of three days via a &lt;a href=&quot;https://galene.org/&quot;&gt;Galene&lt;/a&gt; video
conference server instance provided by the FSF, and the GNU Guix
participants had a dedicated room.&lt;/p&gt;
&lt;p&gt;At its peak, we were more than ten hackers joined by our common love
for creatively solving problems, spread across various time zones. It
was motivating and great fun to see what others were up to, and try to
help one another. Below are some of the things that were hacked on
during this buzzing weekend:&lt;/p&gt;
&lt;h2&gt;New &lt;code&gt;guix shell&lt;/code&gt; support for Emacs-Guix&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://codeberg.org/tusharhero/&quot;&gt;tusharhero&lt;/a&gt; continued their ongoing
effort adding support for &lt;code&gt;guix shell&lt;/code&gt; to Emacs-Guix, so that you can
&lt;code&gt;M-x guix-shell&lt;/code&gt; to set the environment of the current project to a
list of user-provided packages or a local &lt;code&gt;manifest.scm&lt;/code&gt; file. You can
see it in action &lt;a href=&quot;https://upload.disroot.org/r/rPvQqFz2#4+cb4Rj7wXgKQ//CVg3nDhP4bK66PU66I7UJYXOtzqs=&quot;&gt;in this
video&lt;/a&gt;. To
try it locally, you can use the following environment:&lt;/p&gt;
&lt;pre&gt;&lt;code infostring=&quot;shell&quot;&gt;guix shell emacs-pgtk emacs-guix \
 --with-git-url=emacs-guix=https://codeberg.org/tusharhero/emacs-guix \
 --with-branch=emacs-guix=add-guix-shell -- emacs -q
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New &lt;code&gt;(guix home services foot)&lt;/code&gt; home service&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://codeberg.org/plattfot&quot;&gt;platfott&lt;/a&gt; and
&lt;a href=&quot;https://codeberg.org/Thunktone&quot;&gt;thunktone&lt;/a&gt; teamed up to implement a
new Guix Home service for configuring the &lt;a href=&quot;https://codeberg.org/dnkl/foot&quot;&gt;foot terminal
emulator&lt;/a&gt;. You can follow their
progress on &lt;a href=&quot;https://codeberg.org/plattfot/guix/src/branch/foot-configuration&quot;&gt;this feature
branch&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;New virtual reality (VR) related packages and games&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://codeberg.org/HaeckseAlexandra&quot;&gt;HaeckseAlexandra&lt;/a&gt; added a few
VR related packages, such as &lt;code&gt;libsurvive&lt;/code&gt;, &lt;code&gt;overte&lt;/code&gt; and
&lt;code&gt;minetest-paradust-xr&lt;/code&gt;. You can review these packages on this &lt;a href=&quot;https://codeberg.org/LibreVR/guix/commits/branch/fsf40_hackathon&quot;&gt;feature
branch&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Finding missing GNU packages in Guix&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://codeberg.org/GCaggianese&quot;&gt;GCaggianese&lt;/a&gt; and
&lt;a href=&quot;https://codeberg.org/apteryx&quot;&gt;apteryx&lt;/a&gt; teamed up to devise a &lt;a href=&quot;https://codeberg.org/guixotic/fsf40-hackathon/src/branch/main/gnu-packages.scm&quot;&gt;Guile
script&lt;/a&gt;
able to compute which GNU packages are missing from the Guix
collection. The script makes use of the Guix API, for example using
the pre-existing &lt;code&gt;official-gnu-packages&lt;/code&gt; procedure from the &lt;code&gt;(guix gnu-maintenance)&lt;/code&gt; module to retrieve the list of GNU packages, and the
&lt;code&gt;find-packages-by-name&lt;/code&gt; as well as a locally defined
&lt;code&gt;find-packages-by-regexp&lt;/code&gt; procedures to check whether they are already
packaged in Guix.&lt;/p&gt;
&lt;p&gt;Thanks to this script, we found that there were &lt;em&gt;151 missing GNU
packages&lt;/em&gt; in Guix. The full listing is available in the script as a
comment. That's a lot of packages, so the next question we pondered
over was: which of these packages should we prioritize? To help
answering that question, a &lt;a href=&quot;https://codeberg.org/guixotic/fsf40-hackathon/src/branch/main/parsers/popcon.scm&quot;&gt;Debian popularity contest (popcon) file
parser&lt;/a&gt;
was implemented using &lt;a href=&quot;https://en.wikipedia.org/wiki/Parsing_expression_grammar&quot;&gt;Parsing Expression Grammar
(PEG)&lt;/a&gt; via
the &lt;a href=&quot;https://www.gnu.org/software/guile/manual/html_node/PEG-Parsing.html&quot;&gt;&lt;code&gt;(ice-9 peg)&lt;/code&gt;&lt;/a&gt;
Guile module.&lt;/p&gt;
&lt;p&gt;You can run the &lt;code&gt;gnu-packages.scm&lt;/code&gt; script locally like this:&lt;/p&gt;
&lt;pre&gt;&lt;code infostring=&quot;scheme&quot;&gt;guile -L . gnu-packages.scm
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After about 2 minutes, the execution completes and outputs something like:&lt;/p&gt;
&lt;pre&gt;&lt;code infostring=&quot;text&quot;&gt;151 missing GNU packages in total

29 missing GNU packages sorted by Debian popcon votes:

votes      name
1026       vcdimager
349        shtool
38         userv
37         gtick
33         spell
23         electric
15         hp2xx
14         gretl
13         gnuit
7          gnubiff
4          acm
4          gprofng-gui
4          jwhois
3          ferret
3          melting
2          cfengine
2          gmediaserver
2          gnats
2          pexec
1          gnump3d
1          gnusound
1          oleo
1          teseq
0          bayonne
0          gift
0          gnurobots
0          gnustep
0          nana
0          sysutils
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Adding missing GNU packages&lt;/h2&gt;
&lt;p&gt;Equipped with the list of missing GNU packages, we can try &lt;code&gt;guix import&lt;/code&gt; to produce a template to speed up the process of writing a
package definition for them (as long as they have their release
tarballs uploaded to the &lt;a href=&quot;ftp://ftp.gnu.org&quot;&gt;GNU FTP&lt;/a&gt;). A small issue
was fixed in &lt;a href=&quot;https://codeberg.org/guix/guix/commit/e46b6027d0f3532f054dd133215a62a1d51f1101&quot;&gt;commit
e46b6027d0f&lt;/a&gt;,
so you should run &lt;code&gt;guix pull&lt;/code&gt; to ensure you have the fix, after which you can try for example:&lt;/p&gt;
&lt;pre&gt;&lt;code infostring=&quot;shell&quot;&gt;guix import gnu gnurobots
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;which produces the following template:&lt;/p&gt;
&lt;pre&gt;&lt;code infostring=&quot;scheme&quot;&gt;(define-public gnurobots
  (package
    (name &amp;quot;gnurobots&amp;quot;)
    (version &amp;quot;1.2.0&amp;quot;)
    (source
     (origin
       (method url-fetch)
       (uri (string-append &amp;quot;mirror://gnu/gnurobots/gnurobots-&amp;quot; version
                           &amp;quot;.tar.gz&amp;quot;))
       (sha256
        (base32 (guix-hash-url tarball)))))
    (build-system gnu-build-system)
    (synopsis &amp;quot;Program a little robot and watch him explore a world&amp;quot;)
    (description
     &amp;quot;GNU Robots is a game in which you program a robot to explore a world full of
enemies that can hurt it, obstacles and food to be eaten.  The goal of the game
is to stay alive and collect prizes.  The robot program conveniently may be
written in a plain text file in the Scheme programming language.&amp;quot;)
    (home-page &amp;quot;http://www.gnu.org/software/gnurobots/readme.html&amp;quot;)
    (license find-by-yourself!)))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;a href=&quot;https://www.gnu.org/software/vcdimager/&quot;&gt;GNU VCDImager&lt;/a&gt;, &lt;a href=&quot;https://www.gnu.org/software/shtool/&quot;&gt;GNU
shtool&lt;/a&gt;,
&lt;a href=&quot;https://www.antcom.de/gtick/&quot;&gt;GTick&lt;/a&gt; and &lt;a href=&quot;https://savannah.gnu.org/projects/spell/&quot;&gt;GNU
spell&lt;/a&gt; packages have already
been packaged and are &lt;a href=&quot;https://codeberg.org/guix/guix/pulls?state=open&amp;amp;amp;type=all&amp;amp;amp;labels=&amp;amp;amp;milestone=0&amp;amp;amp;project=0&amp;amp;amp;assignee=0&amp;amp;amp;poster=0&amp;amp;amp;sort=&amp;amp;amp;q=fsf40&quot;&gt;awaiting
review&lt;/a&gt;,
while work has started on &lt;a href=&quot;https://www.gnu.org/software/epsilon/&quot;&gt;GNU
epsilon&lt;/a&gt; and a
&lt;a href=&quot;https://codeberg.org/GCaggianese/FSF40-3DLDF_package&quot;&gt;blueprint&lt;/a&gt; has
been devised for packaging &lt;a href=&quot;https://www.gnu.org/software/3dldf/&quot;&gt;GNU
3DLDF&lt;/a&gt;. If you'd like to continue
this effort, your help is much welcome! Perhaps Guix could become the
first distribution able to claim to have the whole of GNU available?&lt;/p&gt;
</content></entry><entry><title>(define guixotic ...)</title><id>https://guixotic.coop/blog/2025/define-guixotic.html</id><author><name>Guixotic</name><email>contact@guixotic.coop</email></author><updated>2025-11-11T11:00:00Z</updated><link href="https://guixotic.coop/blog/2025/define-guixotic.html" rel="alternate" /><content type="html">&lt;p&gt;It seems we are a bit overdue to say hello! We're very excited to announce Guixotic, a consultancy cooperative specializing in &lt;a href=&quot;https://guix.gnu.org/&quot;&gt;GNU Guix&lt;/a&gt; and &lt;a href=&quot;https://www.gnu.org/software/guile/&quot;&gt;Guile&lt;/a&gt;. We offer a wide range of services, from commercial support and DevOps to training and feature development. You can read our first announcement to the world on the &lt;a href=&quot;https://lists.gnu.org/r/guix-devel/2025-07/msg00113.html&quot;&gt;guix-devel mailing list&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So, what have we been up to in the past 4 months? We've been busy taking care of all the official stuff one needs to do to start a business, complicated a bit by us starting this cooperative internationally. We are currently three co-founders and members, spread out in the US and Japan. We've also worked with our first clients, contributed to Guix and related projects, and hacked away at other projects along the way. Here are some highlights:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Client projects&lt;/strong&gt;: &lt;a href=&quot;https://github.com/pharo-project/pharo-vm&quot;&gt;Pharo&lt;/a&gt; (Smalltalk language) packaging, &lt;a href=&quot;https://github.com/Icinga/icingaweb2&quot;&gt;Icinga Web 2&lt;/a&gt; monitoring services, one-on-one support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Guix&lt;/strong&gt;: contributed major updates to the &lt;a href=&quot;https://codeberg.org/guix/guix/issues/2987&quot;&gt;Mesa&lt;/a&gt; graphics library and related packages, &lt;a href=&quot;https://codeberg.org/guix/guix/pulls/2521&quot;&gt;IceCat&lt;/a&gt; and Icedove, libxml2 (recent CVE), and &lt;a href=&quot;https://codeberg.org/guix/guix/pulls/1968&quot;&gt;Qt&lt;/a&gt; libraries and programs; fixed a &lt;a href=&quot;https://codeberg.org/guix/guix/issues/1169&quot;&gt;hard-to-reproduce crash&lt;/a&gt; in &lt;code&gt;guix shell&lt;/code&gt; and other minor bugs; and made many more smaller contributions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Other hacking&lt;/strong&gt;: learned and hacked on &lt;a href=&quot;https://dthompson.us/projects/haunt.html&quot;&gt;Haunt&lt;/a&gt;, a Guile-based static site generator powering &lt;a href=&quot;https://codeberg.org/guixotic/website&quot;&gt;this very website&lt;/a&gt;; started work on &lt;a href=&quot;https://codeberg.org/guix/guix/pulls/3737&quot;&gt;mmap support&lt;/a&gt; (kernel-backed memory mapping) in Guix/Guile&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On the business side, we became &lt;a href=&quot;https://www.e-resident.gov.ee/&quot;&gt;e-residents&lt;/a&gt; of Estonia and registered Guixotic there with the help of &lt;a href=&quot;https://www.gatetobaltics.com/&quot;&gt;Gate to Baltics&lt;/a&gt;. We have all the basics we need to run and expand our business, including being able to take donations with &lt;a href=&quot;https://liberapay.com/guixotic&quot;&gt;Liberapay&lt;/a&gt; and take various forms of payment almost anywhere in the world (via &lt;a href=&quot;https://wise.com/&quot;&gt;Wise&lt;/a&gt;, and &lt;a href=&quot;https://stripe.com/&quot;&gt;Stripe&lt;/a&gt;). In future articles, we will explore why we chose to do this via e-residency in Estonia, to form as a cooperative, and the various bumps we've encountered.&lt;/p&gt;
&lt;p&gt;Business paperwork aside, we've been thrilled to work with our first clients. They have reached out to us about adding and fixing packages in Guix, fixing bugs, developing a Guix environment for their work, and more. Between that, we've kept busy doing more of what we love, encouraged by the warm welcome we've received and even a few donations on &lt;a href=&quot;https://liberapay.com/guixotic&quot;&gt;Liberapay&lt;/a&gt;! This means continuing to hack on Guix and Guile and helping others do the same.&lt;/p&gt;
&lt;p&gt;So, what's next for us? We're at a point now where the main goal is, in brief, to be busy! We need to find more clients, work more in the commercial business space, develop and offer training courses, and generally make this a self-sustaining business. We hope to bring in new members to our cooperative soon. People have reached out already, so we know there are people eager to do this work with us.&lt;/p&gt;
&lt;p&gt;Look for more from us in this space soon, on what we've learned starting this business, the life of a cooperative, and especially articles on cool hacks and projects with Guix and Guile. Until then, happy hacking and keep those parentheses paired!&lt;/p&gt;
</content></entry></feed>