{"slug": "gnu-guix", "name": "GNU Guix", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 13, "warners": 4, "score": 0.842, "rising": -1.31, "first": "2026-01-23", "latest": "2026-10-21", "why": "I'm totally sold on Guix, and have been using it on an old laptop for the last few months.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 2, "compare": 4, "warn": 4}, "spark": [0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I'm totally sold on Guix, and have been using it on an old laptop for the last few months.", "icon": true, "domain": "gnu.org", "github_repo": null, "official_url": "https://guix.gnu.org", "pricing": "", "aliases": ["Guix", "GNU Guix"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 778211216, "item_id": 48638201, "url": "https://news.ycombinator.com/item?id=48638201", "by": "wasting_time", "date": "2026-06-22", "stance": "recommend", "quote": "It solves all of these issues, and already has a good story both for cross and native builds on a variety of architectures.", "excerpt": "I'm surprised to see no mention of Guix. It solves all of these issues, and already has a good story both for cross and native builds on a variety of architectures. Adding new targets is deceptively easy, just copy an existing template and substitute your values. https://codeberg.org/guix/guix/src/branch/master/gnu/system/images https://codeberg.org/guix/guix/src/branch/master/gnu/bootloader/u-boot.scm", "context": "", "use_case": "embedded Linux builds", "switched_from": "", "story": "Is it time for a new Embedded Linux build system?"}, {"id": 763571683, "item_id": 47723230, "url": "https://news.ycombinator.com/item?id=47723230", "by": "lrvick", "date": "2026-04-10", "stance": "recommend", "quote": "Credit where due that Guix did this first", "excerpt": "Let me start by saying I love rust, but the supply chain story for official rust compiler binaries is not okay and I would never even trust them even on a dev workstation, let alone in production. Most people get rust from rustup, an unsigned \"curl | sh\" style magic script. Whoever controls the dns for rustup.rs, or the webserver, or the BGP nodes between you and the webserver, can just change that at any time, or ch", "context": "", "use_case": "full-source bootstrapped builds", "switched_from": "", "story": "Supply chain nightmare: How Rust will be attacked and what we can do to mitigate"}, {"id": 761988496, "item_id": 47624281, "url": "https://news.ycombinator.com/item?id=47624281", "by": "rekado", "date": "2026-04-03", "stance": "recommend", "quote": "I use a Guix manifest for every project", "excerpt": "I use a Guix manifest for every project, which describes what dev tools and dependencies I want. When I enter a directory the shell automatically evaluates the manifest and all my tools are ready. With tooling for deployment I prefer to heed an adaptation of Greenspun's Tenth Rule. Neither Guix nor Nix are really all that \"complex\" from a user's perspective.", "context": "", "use_case": "per-project dev environments", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}, {"id": 747751152, "item_id": 46734447, "url": "https://news.ycombinator.com/item?id=46734447", "by": "clircle", "date": "2026-01-23", "stance": "recommend", "quote": "I'm totally sold on Guix, and have been using it on an old laptop for the last few months.", "excerpt": "Guix is the combination of so many cool things: declarative OS, lisp programming, hygenic development, bootstrapping. I'm totally sold on Guix, and have been using it on an old laptop for the last few months. I'm looking forward to putting in on my desktop when I have some free time. I love love love having my whole system (and home) instantiated from a small set of text files.", "context": "", "use_case": "declarative OS", "switched_from": "", "story": "GNU Guix 1.5.0 Released"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 802821106, "item_id": 50176319, "url": "https://news.ycombinator.com/item?id=50176319", "by": "chuckadams", "date": "2026-10-21", "stance": "warn", "quote": "Guix being ideologically opposed to supporting macOS", "excerpt": "Guix being ideologically opposed to supporting macOS is what keeps me using Nix on my daily driver box. My NixOS box is there to run Steam, which I suspect is something Guix would also regard as anathema.", "context": "", "use_case": "", "switched_from": "", "story": "NixOS is making me less afraid"}, {"id": 797611409, "item_id": 49850713, "url": "https://news.ycombinator.com/item?id=49850713", "by": "Sugimot0", "date": "2026-09-25", "stance": "warn", "quote": "IRL it's too much hassle: weak package coverage, weak ecosystem, a steep learning curve", "excerpt": "I used to wonder this same question and weighed guix and nix quite a bit before moving to the nix camp. Guix on paper really sounds ideal, it feels like a more compelling design, more first principles, it's all scheme, really exciting ideas under the hood. But design intent is not a substitute for the actual user experience. IRL it's too much hassle: weak package coverage, weak ecosystem, a steep learning curve, most", "context": "", "use_case": "", "switched_from": "", "story": "Dutch governments builds alternative for Microsoft based on NixOS"}, {"id": 797611329, "item_id": 49850708, "url": "https://news.ycombinator.com/item?id=49850708", "by": "Sugimot0", "date": "2026-09-25", "stance": "warn", "quote": "IRL it's too much hassle: weak package coverage, weak ecosystem, a steep learning curve", "excerpt": "I used to wonder this same question and weighed guix and nix quite a bit before moving to the nix camp. Guix on paper really sounds ideal, it feels like a more compelling design, more first principles, it's all scheme, really exciting ideas under the hood. But design intent is not a substitute for the actual user experience. IRL it's too much hassle: weak package coverage, weak ecosystem, a steep learning curve, most", "context": "", "use_case": "", "switched_from": "", "story": "Dutch governments builds alternative for Microsoft based on NixOS"}, {"id": 783298113, "item_id": 48956132, "url": "https://news.ycombinator.com/item?id=48956132", "by": "MayeulC", "date": "2026-07-18", "stance": "warn", "quote": "I tried guix but it was too slow and guix uses a lot of RAM during updates", "excerpt": "I still use my Samsung n130, though I went with Alpine after Arch dropped support for 32 bit (there were a few pain points with Arch 32 in the early days, I tried guix but it was too slow and guix uses a lot of RAM during updates). It works decently, is sufficient for ssh-ing into other hosts. Though web browsing is a pain. I used to mostly use Dillo and elinks, MPV+yt-dlp for videos. Unfortunately I left it sit for ", "context": "", "use_case": "OS on old netbook", "switched_from": "", "story": "Reviving a 15-year-old netbook with Arch Linux"}]}], "who": [], "tags": [], "use_cases": ["package/environment management", "os on old netbook", "embedded linux builds", "reproducible project shells", "secondary os install", "full-source bootstrapped builds"], "compared": [{"slug": "nixos", "name": "NixOS", "co": 7, "switched_from": 0, "switched_to": 0}, {"slug": "nix", "name": "Nix", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "gentoo", "name": "Gentoo", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "restic", "name": "restic", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "nixos-anywhere", "name": "nixos-anywhere", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "colmena", "name": "colmena", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "arch-linux", "name": "Arch Linux", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 748244400, "item_id": 46765275, "url": "https://news.ycombinator.com/item?id=46765275", "by": "civodul", "date": "2026-01-26", "stance": "recommend", "quote": "The idea was to show that there are several \"levels\" to take advantage of Guix for development", "excerpt": "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-Development.html 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.", "context": "Guix Cookbook author", "use_case": "software development environments", "switched_from": "", "story": "Guix for Development"}], "threads": [{"url": "https://news.ycombinator.com/item?id=46690592", "title": "Guix for Development", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49841563", "title": "Dutch governments builds alternative for Microsoft based on NixOS", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=46732047", "title": "GNU Guix 1.5.0 Released", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50165484", "title": "NixOS is making me less afraid", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49713868", "title": "Back to the future: modules for Guix packages (2022)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48907063", "title": "Reviving a 15-year-old netbook with Arch Linux", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"recommend": 1, "compare": 3, "warn": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {"recommend": 2}, "2026-05": {"neutral": 1}, "2026-06": {"neutral": 1, "recommend": 1}, "2026-07": {"warn": 1}, "2026-08": {}, "2026-09": {"compare": 1, "warn": 1}, "2026-10": {"warn": 1}}, "quotes": [{"id": 802821106, "item_id": 50176319, "url": "https://news.ycombinator.com/item?id=50176319", "by": "chuckadams", "date": "2026-10-21", "stance": "warn", "quote": "Guix being ideologically opposed to supporting macOS", "excerpt": "Guix being ideologically opposed to supporting macOS is what keeps me using Nix on my daily driver box. My NixOS box is there to run Steam, which I suspect is something Guix would also regard as anathema.", "context": "", "use_case": "", "switched_from": "", "story": "NixOS is making me less afraid"}, {"id": 797611409, "item_id": 49850713, "url": "https://news.ycombinator.com/item?id=49850713", "by": "Sugimot0", "date": "2026-09-25", "stance": "warn", "quote": "IRL it's too much hassle: weak package coverage, weak ecosystem, a steep learning curve", "excerpt": "I used to wonder this same question and weighed guix and nix quite a bit before moving to the nix camp. Guix on paper really sounds ideal, it feels like a more compelling design, more first principles, it's all scheme, really exciting ideas under the hood. But design intent is not a substitute for the actual user experience. IRL it's too much hassle: weak package coverage, weak ecosystem, a steep learning curve, most", "context": "", "use_case": "", "switched_from": "", "story": "Dutch governments builds alternative for Microsoft based on NixOS"}, {"id": 797611329, "item_id": 49850708, "url": "https://news.ycombinator.com/item?id=49850708", "by": "Sugimot0", "date": "2026-09-25", "stance": "warn", "quote": "IRL it's too much hassle: weak package coverage, weak ecosystem, a steep learning curve", "excerpt": "I used to wonder this same question and weighed guix and nix quite a bit before moving to the nix camp. Guix on paper really sounds ideal, it feels like a more compelling design, more first principles, it's all scheme, really exciting ideas under the hood. But design intent is not a substitute for the actual user experience. IRL it's too much hassle: weak package coverage, weak ecosystem, a steep learning curve, most", "context": "", "use_case": "", "switched_from": "", "story": "Dutch governments builds alternative for Microsoft based on NixOS"}, {"id": 795817312, "item_id": 49738582, "url": "https://news.ycombinator.com/item?id=49738582", "by": "tetris11", "date": "2026-09-17", "stance": "compare", "quote": "I love Guix, I just hate that it requires such an invasive installation for it to work.", "excerpt": "I love Guix, I just hate that it requires such an invasive installation for it to work. Compare it to pixi for example which has all the same features (pixi shell, pixi run, pixi pack, etc.) and requires only a small user-level installation and a folder specific deployment", "context": "", "use_case": "package/environment management", "switched_from": "", "story": "Back to the future: modules for Guix packages (2022)"}, {"id": 783298113, "item_id": 48956132, "url": "https://news.ycombinator.com/item?id=48956132", "by": "MayeulC", "date": "2026-07-18", "stance": "warn", "quote": "I tried guix but it was too slow and guix uses a lot of RAM during updates", "excerpt": "I still use my Samsung n130, though I went with Alpine after Arch dropped support for 32 bit (there were a few pain points with Arch 32 in the early days, I tried guix but it was too slow and guix uses a lot of RAM during updates). It works decently, is sufficient for ssh-ing into other hosts. Though web browsing is a pain. I used to mostly use Dillo and elinks, MPV+yt-dlp for videos. Unfortunately I left it sit for ", "context": "", "use_case": "OS on old netbook", "switched_from": "", "story": "Reviving a 15-year-old netbook with Arch Linux"}, {"id": 778211216, "item_id": 48638201, "url": "https://news.ycombinator.com/item?id=48638201", "by": "wasting_time", "date": "2026-06-22", "stance": "recommend", "quote": "It solves all of these issues, and already has a good story both for cross and native builds on a variety of architectures.", "excerpt": "I'm surprised to see no mention of Guix. It solves all of these issues, and already has a good story both for cross and native builds on a variety of architectures. Adding new targets is deceptively easy, just copy an existing template and substitute your values. https://codeberg.org/guix/guix/src/branch/master/gnu/system/images https://codeberg.org/guix/guix/src/branch/master/gnu/bootloader/u-boot.scm", "context": "", "use_case": "embedded Linux builds", "switched_from": "", "story": "Is it time for a new Embedded Linux build system?"}, {"id": 775281633, "item_id": 48455102, "url": "https://news.ycombinator.com/item?id=48455102", "by": "zelphirkalt", "date": "2026-06-08", "stance": "neutral", "quote": "it uses a SHELL that is a guix shell, which references channels and manifest, to ensure reproducibility", "excerpt": "I use GNU Make for my Python and GNU Guile projects just fine. For Python projects it becomes a job runner of tooling commands. For Guile projects it uses a SHELL that is a guix shell, which references channels and manifest, to ensure reproducibility.", "context": "", "use_case": "reproducible project shells", "switched_from": "", "story": "OCaml Onboarding: Introduction to the Dune build system"}, {"id": 773090608, "item_id": 48318163, "url": "https://news.ycombinator.com/item?id=48318163", "by": "kombine", "date": "2026-05-28", "stance": "neutral", "quote": "one year ago I did install Guix on a separate partition of my desktop PC", "excerpt": "Never used Gentoo, but what is its advantages over, say, Guix? I don't actually use guix or nix as a daily driver, although one year ago I did install Guix on a separate partition of my desktop PC and I use nix via Home manager to install various cli-based tools.", "context": "", "use_case": "secondary OS install", "switched_from": "", "story": "Why Gentoo?"}, {"id": 763571683, "item_id": 47723230, "url": "https://news.ycombinator.com/item?id=47723230", "by": "lrvick", "date": "2026-04-10", "stance": "recommend", "quote": "Credit where due that Guix did this first", "excerpt": "Let me start by saying I love rust, but the supply chain story for official rust compiler binaries is not okay and I would never even trust them even on a dev workstation, let alone in production. Most people get rust from rustup, an unsigned \"curl | sh\" style magic script. Whoever controls the dns for rustup.rs, or the webserver, or the BGP nodes between you and the webserver, can just change that at any time, or ch", "context": "", "use_case": "full-source bootstrapped builds", "switched_from": "", "story": "Supply chain nightmare: How Rust will be attacked and what we can do to mitigate"}, {"id": 761988496, "item_id": 47624281, "url": "https://news.ycombinator.com/item?id=47624281", "by": "rekado", "date": "2026-04-03", "stance": "recommend", "quote": "I use a Guix manifest for every project", "excerpt": "I use a Guix manifest for every project, which describes what dev tools and dependencies I want. When I enter a directory the shell automatically evaluates the manifest and all my tools are ready. With tooling for deployment I prefer to heed an adaptation of Greenspun's Tenth Rule. Neither Guix nor Nix are really all that \"complex\" from a user's perspective.", "context": "", "use_case": "per-project dev environments", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}, {"id": 749398721, "item_id": 46837420, "url": "https://news.ycombinator.com/item?id=46837420", "by": "6ak74rfy", "date": "2026-01-31", "stance": "compare", "quote": "I've had a passing curiosity about Guix", "excerpt": "I've had a passing curiosity about Guix, so it was good to read this report. One thing I didn't find is Guix on servers. I am all-in on NixOS for both my daily driver desktop and couple of servers, and adding more of either will be simple modifications to my flake repository. I really appreciate that simplicity and consistency. Does Guix offer that? The other thing is package availability: it's amazing on Nix. Plus, ", "context": "", "use_case": "", "switched_from": "", "story": "Guix System First Impressions as a Nix User"}, {"id": 748256576, "item_id": 46766036, "url": "https://news.ycombinator.com/item?id=46766036", "by": "ephaeton", "date": "2026-01-26", "stance": "warn", "quote": "Wow, same experience as the last three times.", "excerpt": "time to try guix again! Let's see ... hey, let's install inside an arch nspawn on arch. Oh no, builds won't complete. Can't mount a proc directory. Doesn't matter if root or not, with or without systemd-nsresourced, etc, spawn ran as root or not, or .. Fine, let's give it a shot in a qemu: doesn't work. After eons it just .. fails. Some HTTP timeout. Ok, ok, let's install the thing on my box. I didn't want to but let", "context": "Arch Linux user", "use_case": "package manager / OS", "switched_from": "", "story": "GNU Guix 1.5.0 Released"}, {"id": 748216273, "item_id": 46763517, "url": "https://news.ycombinator.com/item?id=46763517", "by": "tetris11", "date": "2026-01-26", "stance": "compare", "quote": "In Guix, you either deploy with all libraries on a custom /guix path, or nothing.", "excerpt": "I love Guile over Nix syntax, but the one killer feature Nix has that Guix doesn\u2019t 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.", "context": "", "use_case": "deploying programs", "switched_from": "", "story": "Guix for Development"}, {"id": 748213937, "item_id": 46763371, "url": "https://news.ycombinator.com/item?id=46763371", "by": "rudhdb773b", "date": "2026-01-26", "stance": "compare", "quote": "I love Guix documentation", "excerpt": "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.", "context": "", "use_case": "package management", "switched_from": "", "story": "Guix for Development"}, {"id": 747751152, "item_id": 46734447, "url": "https://news.ycombinator.com/item?id=46734447", "by": "clircle", "date": "2026-01-23", "stance": "recommend", "quote": "I'm totally sold on Guix, and have been using it on an old laptop for the last few months.", "excerpt": "Guix is the combination of so many cool things: declarative OS, lisp programming, hygenic development, bootstrapping. I'm totally sold on Guix, and have been using it on an old laptop for the last few months. I'm looking forward to putting in on my desktop when I have some free time. I love love love having my whole system (and home) instantiated from a small set of text files.", "context": "", "use_case": "declarative OS", "switched_from": "", "story": "GNU Guix 1.5.0 Released"}]}