Crafting Streamlined Guix Configurations


Speaking at LibrePlanet 2024

I was invited to give a keynote talk at the FSF’s LibrePlanet 2024 conference! The talk will be about building community around Free Software projects and creating a healthy ecosystem of contributors.

Here’s the link for this year’s LibrePlanet:

I’ll keep you posted for when registration opens. I’d love to have a System Crafters meetup in Boston next spring!

Subscribe to the Newsletter!

Support my work!

Call for Community Projects

One thing I’ve been thinking about for a while is how to activate our community to collaborate on building new and useful things. Emacs packages, Guix packages or configurations, Lisp-authored tools, really anything that would be useful to a system crafter!

To that end, I’ve created a new channel on Matrix and IRC for community members to discuss projects that they would like to collaborate on:

  • Matrix:
  • IRC: #systemcrafters-hacking on

A few of us are there already discussing a few projects that you might be interested to join:

If you have your own idea for a project, please feel free to come discuss it with us! These projects don’t have to be under the “System Crafters” banner, but if you’d like to make it an official SC project, we can discuss giving you a repo under the System Crafters org on Codeberg.

Simplifying Guix Configurations

To test the configuration in a VM:

$(guix system vm examples/sway-desktop.scm) -device virtio-vga-gl -display gtk,gl=on -m 2G -smp cores=2

… or …

$(guix system vm examples/sway-desktop.scm) -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 \
                                            -chardev spicevmc,name=vdagent,id=vdagent \
                                            -device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\

guix shell virt-viewer -- remote-viewer -spice port=5930,disable-ticketing


(bootloader (bootloader-configuration
             (bootloader grub-bootloader)
             (targets '("/dev/vda"))))

(file-systems (cons (file-system
                     (mount-point "/")
                     (device "/dev/vda1")
                     (type "ext4"))

 ;; TODO: Import (gnu services spice)
 (define vm-config
   (crafted-config (add-system-services
                    (service spice-vdagent-service-type))))

Trying out the home configuration:

guix home -L ~/Projects/Code/crafted-guix/modules container examples/sway-desktop.scm
Subscribe to the System Crafters Newsletter!
Stay up to date with the latest System Crafters news and updates! Read the Newsletter page for more information.
Name (optional)
Email Address