# A pragmatist wanting to try out Guix

**URL:** <https://forum.systemcrafters.net/t/a-pragmatist-wanting-to-try-out-guix/1858>\
**Category:** Guix\
**Created:** [December 2, 2025, 4:49pm UTC](https://forum.systemcrafters.net/t/a-pragmatist-wanting-to-try-out-guix/1858 "2025-12-02T16:49:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![maxki](https://avatars.discourse-cdn.com/v4/letter/m/258eb7/32.png) [@maxki](https://forum.systemcrafters.net/u/maxki)\
**Post date:** [December 2, 2025, 4:49pm UTC](https://forum.systemcrafters.net/t/a-pragmatist-wanting-to-try-out-guix/1858/1 "2025-12-02T16:49:01Z")

</div>

I’m absolutely sold on the concept of functional package management.

The process of “installing and configuring stuff” neatly fits the definition of a function, and I can’t think of any reason why such a critical function should NOT be pure, i.e. why it’s output (the state of the OS), should not be determined only by it’s inputs (set of dependencies and config).

I’m also a pragmatist, I sometimes chose a technology that I consider inferior, because it has more short or medium term benefits, lower investment, risk, cost of adoption, etc.

My “inner pragmatist” had me wait almost a decade from my discovery of NixOS, to trying it out, and I recently just did that: I setup a NixOS raspberry-pi with half a dozen of services, and it went well enough that I consider NixOS meets my “pragmatist” expectations.

One aspect of Nix makes me pessimistic: the Nix language. I think inventing a custom language for a package manager is a liability. Package management absolutely deserves a DSL (domain specific language), but any dialect of the List family is a superior choice.

The advantage of having Guile based DSL is a huge one IMO.

However I expect Guix to have a higher cost, at least in the short term, now I’m trying to get a feeling of “how much”, so I set out searching for how I could replicate my NixOS experiment, to see how much harder it is with Guix.

For context, my NixOS raspberry-pi config has the following services: librespot, zigbee2mqtt, home-assistant, mpd, it uses ALSA for mpd and librespot.

I’d appreciate any pointers on how I can configure this with Guix.

---

<div class="post-metadata">

**Author:** ![trev](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/trev/32/81_2.png) [@trev](https://forum.systemcrafters.net/u/trev)\
**Post date:** [December 3, 2025, 8:14am UTC](https://forum.systemcrafters.net/t/a-pragmatist-wanting-to-try-out-guix/1858/2 "2025-12-03T08:14:39Z")

</div>

> [@maxki](#):
>
> My “inner pragmatist” had me wait almost a decade from my discovery of NixOS, to trying it out, and I recently just did that:

Already making the leap to Guix 😬

> [@maxki](#):
>
> The advantage of having Guile based DSL is a huge one IMO.

It can be finicky sometimes!

> [@maxki](#):
>
> For context, my NixOS raspberry-pi config has the following services: librespot, zigbee2mqtt, home-assistant, mpd, it uses ALSA for mpd and librespot.

I think your biggest issue will be minimal substitutes (pre-built downloadable packages) available for the Pi.  
I think we have a few community members using Guix on a Pi, but it might require building everything yourself. Not sure if NixOS has the same problem.

> [@maxki](#):
>
> I’d appreciate any pointers on how I can configure this with Guix.

Start by reading the installation manual or finding someone else’s config who uses Guix on Pi.  
Get a base install that you can work with, and then start reading the info manuals for all the services you need.

Then you may need to port services (I didn’t find `zigbee2mqtt` in Guix) that don’t exist. You can check [here](https://toys.whereis.social/) too to see if any users have packaged things you need in their personal channels
