- On the same topic, check out this how-to on software development with Guix from the Cookbook (author here):
https://guix.gnu.org/cookbook/en/html_node/Software-Developm...
The idea was to show that there are several "levels" to take advantage of Guix for development, where the `guix.scm` file in David Thompson's blog post is the first level.
by goranmoomin
2 subcomments
- I feel like declarative container-like dev environments (e.g. nix shell or guix shell, and so on) will become much more popular in the following years with the rise of LLM agentic tools. It seems that the aformentioned tools provide much more value when they can get full access to the dev environment.
Sprites[0], exe.dev[1], and more services seem to be focusing on providing instant VMs for these use cases, but for me it seems like it's a waste for users to have to ssh into a separate cloud server (and feel the latency) just to get a clean dev environment. I feel that a similar tool where you can get a clean slate dev environment from a declarative description locally, without all of the overhead and the weight of Docker or VMs would be very welcomed.
(Note: I am not trying to inject AI-hype on a Guix-related post, I do realize that the audience of LLM tools and Guix would be quite different, this is just an observation)
[0]: https://sprites.dev
[1]: https://exe.dev
- Guix looks really tempting to me because i find guile scheme so much more pleasant than nix. But i heard there are not that many packages in Guix. I wonder if some sort of transpiler from nix derivations to guix package definitions would be possible.
by davexunit
1 subcomments
- Always interesting to see an older article come back around. I could probably update this a bit for 2026 but my workflow is just about the same now as it was then. Guix is good and just released 1.5.0, check it out.
- I love Guile over Nix syntax, but the one killer feature Nix has that Guix doesn’t is making a single static binary of common programs and then deploying them elsewhere.
In Nix, this is a single flag. In Guix, you either deploy with all libraries on a custom /guix path, or nothing.
- both guix and nix are 1000% better for setting up and managing per-project deps deterministically
- > Dockerfiles are clunky and the rather extreme level of isolation is usually unnecessary and makes things overly complicated
I agree, for local development docker is often overkill.
However, for production it's absolutely not overkill. And since pretty much all projects are intended for production at some point, they'll need a Dockerfile and docker compose or some other equivalent.
And at that point, you're maintaining the Dockerfile anyway, so why not use it for local dev as well? That way your dev and production environments can be close to identical.
Guix looks nice - probably nicer than docker for dev work. But is it nice enough to justify maintaining two separate systems and have your dev and production diverge?
- What if a piece of software isn't packaged, like for example the ARM GCC toolchain. In a Dockerfile I just need to curl and unpack it. How do I solve that with guix?
by rudhdb773b
0 subcomment
- I love Guix documentation, but unfortunately I've had to stick with Nix because its more polished with a large library of packages.
LLMs have also made writing syntacticly correct Nix scripts much easier, so I don't miss Guix's Guile that much.
- I wanted to go all-in on Guix but the installation process was made too difficult due to the lack of non-free software available during install time. I wish they would take the Debian approach and leave it up to the user to decide which packages they would like installed on their system or not.
by arikrahman
2 subcomments
- Honestly I'm just glad that this declarative approach is steadily being realized. It hasn't hit mainstream adoption yet, but it gives me hope that this headline is making the rounds.
Docker is, as the article describes, just a bandaid and the symptom of unthoughful development foundations.
In the long term, Guix may win out. Probably not in my life time though. But it's a win for developers, and nix really isn't so bad with everyone vibecoding away it's complexity anyways.
- How is the scheme syntax in any way an improvement over JSON? Can't they build the same thing but use JSON - which everyone already uses - instead of pushing a new verbose syntax?
- Guix asking for donations from propietary websites it's a disgrace to GNU.
But i woudn't expect less from some hijackers.
https://guix.gnu.org/donate/
Proof:
https://donate.stripe.com/8x2bJ133ia2H3Zw4j38N201
https://donate.stripe.com/aFaeVd7jy7Uz1Ro02N8N204
https://donate.stripe.com/dRm5kD47m0s79jQ9Dn8N202
by pshirshov
1 subcomments
- But flakes are more sound and more convenient!