Hacker News new | ask | show | jobs
by dangirsh 4152 days ago
Awesome to see this here! I've been using Nix/Nixos (which Guix is heavily based on) on my personal laptop for several months now. I'll never look back from the purely declarative system configuration - I finally feel like I have full control of my machine's state.

It looks like Guix provides a significantly more expressive interface with Scheme than Nixos does with Nix expressions. IIRC, there's also better integration with the system (Nixos auto-generates plenty of bash), which will surely accelerate development / debugging.

Does anyone here have Guix experience to share?

4 comments

I'm one of the developers, but my first experience before that was installing it on top of my Debian system. There were a few manual setup steps to follow to make it work, but once it did it was awesome. Guix lives perfectly alongside a host system like Debian and doesn't interfere with apt. Guix packages, while being fewer in number, are more up-to-date, so I used Guix to get versions of software that weren't in Debian yet.

Installing the full OS is for the brave at the moment, but we'd certainly like you to give it a try if you have the machine/VM to spare. If you do, please let us know what you liked/disliked, what worked and what blew up. There's no guided installer, but it's not too hard to get running in most cases. Partition disks, write system config, run something like 'guix system init config.scm /mnt/my-new-root-partition/' and reboot.

Since becoming one of the core developers, I have been working on a tool called 'guix environment' that can be used for creating reproducible development environments for software projects. I was happy to discover that the core part of Guix contains all the features needed to write tools that could replace things like Vagrant and (once we have container support) Docker. It's just a matter of writing the proper frontend.

I hope you'll give Guix a try sometime. :)

I ran Guix as user-specific overlay on my Gentoo box for some time. It was pretty neat and I thought about using it for cross-distro deployment of libraries I need for development.

About half a year ago I ran into problems with updating and did not have the time to fix it (stuff simply did not build - I did not try the --with-source trick).

I hope that a reinstall with the new version fixes that.

What sold it to me was that when the system breaks during update, everything is still in a working state. → http://draketo.de/light/english/install-gnu-guix-03 My son once found the power-connector of my Gentoo box while I was running updates and hit the pretty red glowing button. It took me three days to recover the system…

Do you have a specific guide you followed for trying that? I've been using gentoo for a while, and this sounds like a good way to try guix or nix.
My experince is running it in a VM and getting really strange scheme-like errors from guix command-line-tool, then giving up. I think I managed to install it once to a virutal-harddrive, but then grub2 was a disaster and the "system" did not boot. Oh well.
I've been using Guix for about a week and it's mostly worked for me. I'm not sure why but sometimes `guix package -i <pkg>` will fail yet I can do a `guix build <pkg> [--with-source=<src>] ; guix package -i <pkg>` and the package will then get installed as expected. (I've only had to use the `--with-source` option once, and it was with openssl, iirc, because the tar.gz guix was looking for was no longer in openssl's ftp site at `/source/openssl<ver>.tar.gz` instead it was moved to `/source/old/openssl<ver>.tar.gz`)

But in general I have no idea what I'm doing with it. Just trying it out and it's mostly working for me.