
GNU Guix and GuixSD 0.12.0 released - rekado
https://www.gnu.org/software/guix/news/gnu-guix-and-guixsd-0120-released.html
======
rekado
Hi there,

I'm the person who made the release announcement and I happen to be one of the
two co-maintainers of GNU Guix. I'm using Guix in production at a
bioinformatics institute.

If you have specific questions about Guix or functional package management
feel free to ask me.

To try to answer one common question: we aren't on bad terms with the Nix
people or compete with them. We are working towards very similar goals, and
the underlying paradigm of functional package management (pioneered by Nix) is
the same. Members of both projects are involved in efforts towards
reproducibility. We have different sensibilities when it comes to the actual
implementation and that leads to different design choices.

~~~
agumonkey
What about the reproducible build project. Is there some regular communication
channel with them ? or just friendly acknowledgement ?

~~~
rekado
Both Guix maintainers attended this years reproducible builds summit in
Berlin. We're involved with them since before the summit in Athens.

At the most recent summit we start a new cross-distro project that I hope we
can announce soon.

------
alxmdev
> _In addition to standard package management features, Guix supports ...
> unprivileged package management, per-user profiles, ..._

That sounds really cool. I wish I could install DEB packages just for my local
user, without needing root access. I wanted this back at my university's
computer lab, and I still want this on my own systems today.

These days a lot of people use personal single-user machines, so having it
mandatory that packages be installed to the root file system is very
restrictive. For example, I have a lot of DEB-packaged games from
HumbleBundle, and it feels weird to need admin privileges to install them all
across /usr/games, /usr/local/share and all that instead of just a place of my
choosing under /home/me.

~~~
rekado
You can use Guix as a standalone package manager on pretty much any GNU+Linux
distribution. It only affects /gnu, /var/guix, and /etc/guix/acl. It won't
touch any global state (e.g. libraries in /usr, or binaries in /bin) and won't
use any global state when building packages.

------
CJefferson
What's the current position of Nix vs Guix?

I tried NixPkgs for a while on a mac about a year ago, but it wasn't really
functional (I submitted a half-dozen or so bug reports, several were fixed,
but I could see there was a long way to go towards a usefully working
system...)

~~~
setra
Nix is used / usable in production. Guix is still pretty far away.

~~~
rekado
This is not correct. There are at least three big bioinformatics clusters
where Guix is used quite successfully (I know of large-scale deployments in
Germany, the Netherlands, Australia). One of the deployments with 250 cluster
nodes and uncounted GNU+Linux workstations is managed by me.

I'd say it is very much usable and in fact used in production.

------
hkjgkjy
So scheme is not a purely functional language - I take that to mean Guix will
not be as well? It will be more like "Unix as emacs"?

Saddens me, because NixOS does all I want - except having s-expressions...

~~~
ue_
NixOS is missing some things for me personally, such as multilib support (I
play a game that's only available using 32-bit libraries). Unfortunately I
didn't read the documentation and arrived at a situation where I couldn't
install my game. I ended up re-installing Debian.

It sounds trivial, but unfortunately it was a deal-breaker for me. I really
liked the centralised configuration and package management offered by NixOS.

~~~
rnhmjoj
It's possible to build FHS environments with multilib [1]. In fact it's what I
use to run games and other binary only software: It works perfectly for me. I
will share my setup.

The expression `games.nix` [2] I use for my games builds a chroot environment
with both 32bit and 64bit /lib and a command `start-game` to launch games from
the environment. I store them in ~/game/$gamename, with a
`$gamename/start.sh`, which is a slightly tweaked or cleaned up version of
what it's usually found in gogs and humble bundle games.

To use it you do `nix-env -if games.nix` to install it the first time and the
just `start-game $gamename` to play. To fiddle around uncomment the trailing
`#.env`, run `nix-shell games.nix` and you will land in the chroot environment
with everything you need.

Most of Nix features like this one are not really documented but fortunately
there's github search and folks in #nixos are always available.

[1]:
[https://nixos.org/wiki/FHS_environments](https://nixos.org/wiki/FHS_environments)

[2]:
[https://hastebin.com/fopelaseyo.nix](https://hastebin.com/fopelaseyo.nix)

