News for hackers. Stuff that matters.
Re:Guix on the Framework 13 AMD by nonrandomstring on Friday February 16, 2024 @08:17AM (#39396561)
Had a VM GUIX "system" (really I think its more of package manager overlay) for a while (18 months ago) but encountered some problems. The main feature AFAICS is that it maintains the state of the system and packages all very cleanly via it's own nix build system which is like a snapshot of everything.

The sell is that it's very recoverable - in theory you can rebuild from a single file. That's very appealing for VMs that need to be moved about.

Unfortunately I needed a couple of things that were available only through apt. Now, Guix said it was perfectly happy to mix package management, (a bit like mixing pkg and ports in BSD) - but don't do that. It all went horribly wrong with confusion over which binaries were running at any time and when I did try to port it, it broke.

I like lispy things so will give Guix another try one day, but it needs you to fully embrace its philosophy and no half measures.

Re:Guix on the Framework 13 AMD by Filligree on Friday February 16, 2024 @10:08AM (#39398027)
> Unfortunately I needed a couple of things that were available only through apt.

NixOS has approximately the same advantages, but a many times larger package repository. Take a look at that, it might already have your packages.

Re:Guix on the Framework 13 AMD by rekado on Friday February 16, 2024 @10:19AM (#39398190)
I'd like to point out that Guix is closer to ~52,000 packages than the ~29,000, as we maintain a bunch of things in separate channels that nixpkgs includes in its monorepo (e.g. the 20+k CRAN packages). See https://hpc.guix.info/channels and https://hpc.guix.info/channels/non-free for some popular channels used by HPC folks.
Re:Guix on the Framework 13 AMD by KingMob on Friday February 16, 2024 @11:51AM (#39399574)
Huh. I think that info should be more prominently displayed.

Just a few minutes ago, I decided to put off trying guix until later because it had fewer packages than nix, and was missing several that I need, that nix has.

Re:Guix on the Framework 13 AMD by b3n on Friday February 16, 2024 @02:32PM (#39401855)
Guix even comes with a Nix service[0] which is easy to enable if you would like to also use Nix packages.

[0] https://guix.gnu.org/manual/en/html_node/Miscellaneous-Servi...

Re:Guix on the Framework 13 AMD by pyrox on Friday February 16, 2024 @04:26PM (#39403180)
Nix also has a Guix service itself[^1], if you want to do the same in reverse ;)

[^1]: https://search.nixos.org/options?query=services.guix

Re:Guix on the Framework 13 AMD by pxc on Saturday February 17, 2024 @12:17AM (#39406641)
I love that this goes both ways. What other pair of Linux distros mutually offer first class support for using each other's package managers alongside their own??

It's a cute little testament to the fundamental strengths of the functional package management paradigm, as well as helping users on either side of the fence fill some gaps in a pinch and providing more/easier opportunities to compare notes and inspire improvements.

Re:Guix on the Framework 13 AMD by Guthur on Friday February 16, 2024 @03:31PM (#39402554)
But it didn't have lisp :)
Re:Guix on the Framework 13 AMD by 0x457 on Friday February 16, 2024 @11:51AM (#39399577)
> a bit like mixing pkg and ports in BSD

There is no mixing ports and pkgs in FreeBSD (I assume you mean that one). When you build a port, it builds a package and installs that. You run into big rebuilds/reinstalls when versions mismatch between your ports tree and pkgs repo.

Guix/nix can't be mixed with existing package managers, but can exist on the same machine. You're (most likely) going to have duplicates and different versions of the same thing.

Re:Guix on the Framework 13 AMD by nonrandomstring on Friday February 16, 2024 @12:40PM (#39400295)
Yes my previous is mainly with FreeBSD. Your response highlights my mistake. As a Guix noob (but with decades of apt/yum/rpm/pkg kinda experience) I misunderstood how these things interact, and failing to manage Guix was most definitely my fault.

Don't get me wrong, I love Guix and the philosophy, but my heart cries out for some Grand Unified Manager of Packages (GUMP), something that can track whether things need building from source, or can be brought in as binary from an apt or rpm, or build those packages as intermediate stages. I kinda thought that's what Guix was going to do. Now I see that a unified package manager is probably unreasonable and that we are headed more toward containerised "Snap/flatpck" way of things - which I don't like.

Re:Guix on the Framework 13 AMD by Arelius on Friday February 16, 2024 @02:31PM (#39401840)
> something that can track whether things need building from source, or can be brought in as binary from an apt or rpm, or build those packages as intermediate stages. I kinda thought that's what Guix was going to do.

I mean, that sortof what nix (and I assume guix) is though, right? As long as your ok with the binary cache for a replacement for apt/rpm (with the caveat that sometimes pkgs can be built on .deb or .rpm)

Re:Guix on the Framework 13 AMD by Cu3PO42 on Friday February 16, 2024 @08:30AM (#39396739)
> via its own nix build system

Nix is conceptually extremely similar to Guix, but a different implementation! It uses its own programming language, also called Nix, and has a less strict stance on free software.

Re:Guix on the Framework 13 AMD by ingenieroariel on Friday February 16, 2024 @10:00AM (#39397918)
Guix uses Nix under the hood (learned this when trying to compile it). Perhaps learning Nix first will let the grandparent be more effective in Guix later.
Re:Guix on the Framework 13 AMD by davexunit on Friday February 16, 2024 @10:24AM (#39398258)
Guix forked and modified only the Nix build daemon which isn't user visible. Learning the Nix tools and language will not teach you very much about how to use Guix.
Re:Guix on the Framework 13 AMD by rekado on Friday February 16, 2024 @10:27AM (#39398297)
Guix includes a copy of the nix-daemon. It's a relatively small C++ program that manages the store. We reuse it because there was no point in writing a replacement for something as low-level as the daemon. Guix compiles its package definitions down to the same kind of file format that the old Nix daemon understands.

(It's a bit funny to me that GNU has a reputation for NIH-ing projects, but when a GNU project doesn't reinvent the spokes on a wheel it also attracts various forms of criticism.)

Re:Guix on the Framework 13 AMD by janneke on Friday February 16, 2024 @10:35AM (#39398404)
It can get even funnier when Chris Baines replaces the Nix daemon with a new implementation in Guile. Then, the NIH argument can be reused instead.
Re:Guix on the Framework 13 AMD by johnisgood on Saturday February 17, 2024 @11:37AM (#39410975)
Any news on that front?

> The daemon also is a key part of the history of Guix. The Guix project started mixing Guile with ideas from the Nix project, and the guix-daemon is a fork of the nix-daemon with some tweaks made over the years. Rather than being implemented in Guile though, the daemon is implemented in C++ with some helpers written in Guile.[1]

[1] https://guix.gnu.org/en/blog/2023/a-build-daemon-in-guile/

---

Found https://github.com/alezost/guile-daemon (https://packages.guix.gnu.org/packages/guile-daemon/), too, which is just as old. Is it "finished"?

I suppose nothing has happened out of https://summerofcode.withgoogle.com/archive/2017/projects/59...?

Is https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/... even relevant today?

Re:Guix on the Framework 13 AMD by rekado on Saturday February 17, 2024 @03:39PM (#39413340)
The Summer of Code project was unsuccessful for personal reasons. The project was also never even close to high priority, because the daemon just isn't all that interesting beyond performing its one job of implementing the functional package management paradigm. That is to say, for a long time there was very little to be gained from a rewrite.

The most recent project has only just started and is spearheaded by Chris Baines, who has extensive experience with the build side due to his work on a (Guile-based) build coordinator used by one of the two major independent build farms.

I don't think the older branches contain much that needs to be ported; most of the work from past projects has in fact made it into Guix already and is used for other features --- just not in the daemon. If the Guile daemon project is successful, the daemon will incorporate many of these existing features for build isolation and coordination.

Re:Guix on the Framework 13 AMD by rendaw on Friday February 16, 2024 @02:22PM (#39401733)
What criticism are you referencing? FWIW I'm a moderately pro-NIH person.