
Introducing GNU Guix - lelf
http://lists.gnu.org/archive/html/gnu-system-discuss/2012-11/msg00000.html
======
rlpb
Debian's dpkg and apt are both GPL2+. What's the reason they are reinventing
the wheel here? Is there some kind of licence incompatibility that the GNU
project cares about? Is there some kind of major architectural difference? Why
is it important enough to fragment Free Software developers over?

I feel that this should be answered in an FAQ, but I can't find the answer
anywhere.

~~~
MatthewPhillips
Those things are never going to be adopted by Fedora, Arch, Gentoo, or any
other non-Debian based distro. That is reason enough not to use it.

~~~
rjbond3rd
Why? Because you predict it won't meet your definition of popularity? Once
upon a time, Arch and Gentoo were dismissed in exactly this way.

~~~
Karunamon
Arch and Gentoo are still tiny fractions of the linux install base (which is
itself a tiny fraction of users), and are mostly irrelevant.

~~~
freshhawk
Unless you feel that those that write software have more influence in the
direction of the community than those who just apt-get/yum install it.

Then they are a small fraction of users but are _not_ irrelevant.

------
simonh
> A distribution built by GNU hackers is a great opportunity to improve
> consistency and cohesion in GNU!

Because the existing fragmentation of GNU package management is too confusing,
so we need a new standard for everyone to rally round.

[<http://xkcd.com/927/>]

~~~
p9idf
That particular Xkcd comic has been posted 79 times in the past year or so†
and has quickly become a cliché. The authors' stated goals are to make a
"purely functional" and "practical 100% free" package manager.†† They don't
mention competition, proliferation, or winning market share. A vague hope of
consistency and cohesion accompanying the announcement of a program
"approaching its first alpha release" isn't a rallying cry. I think they made
this announcement simply so that people interested in this sort of thing might
take a look.

†
[http://www.hnsearch.com/search#request/all&q=http%3A%2F%...](http://www.hnsearch.com/search#request/all&q=http%3A%2F%2Fxkcd.com%2F927%2F&sortby=create_ts+desc&start=0)

†† <http://git.savannah.gnu.org/cgit/guix.git/tree/ROADMAP>

~~~
morsch
Hah. Your post made me curious which xkcds are the most popular on HN. This is
the top10 (caveat below):

    
    
         48 http://xkcd.com/927/
         48 http://xkcd.com/386/
         33 http://xkcd.com/538/
         28 http://xkcd.com/378/
         24 http://xkcd.com/810/
         23 http://xkcd.com/327/
         22 http://xkcd.com/323/
         21 http://xkcd.com/605/
         19 http://xkcd.com/936/
         17 http://xkcd.com/552/
    

You can easily reproduce the results by using the hnsearch API via

    
    
      curl  "http://api.thriftdb.com/api.hnsearch.com/items/_search?q=http%3A%2F%2Fxkcd.com&limit=100&start=<iterate> 
    

and

    
    
      grep -ohE "http://xkcd.com/[0-9]*/" | sort | uniq -c | sort -n
    

Unfortunately, I could only process the first 1000 entire list of ~1500
results because the API refused queries with _start > 900_. I have sort of a
bad conscience because I'm polluting future queries by posting the top 10 list
above, but I think I can live with it.

~~~
kyle_wm
> I have sort of a bad conscience because I'm polluting future queries by
> posting the top 10 list above, but I think I can live with it.

Relevant xkcd: <http://xkcd.com/688/>

(Sorry, couldn't resist)

------
nwmcsween
It seems everyone reinvents package management poorly again and again. Some
things that obviously stand out to me:

* Why utilize scheme? It's declaritive utilize a markup like yaml, don't go off the deep end because you can.

* Utilize OS specific features such as jails, bind mounts, namespaces, you can have the same NIX style separation without destroying FHS.

* Parse the config files for options, it's easy cmake, autocrap, etc all have parsable formatting this way you don't need to mess with adding build time options.

* Parse the source for dependencies, there are lots of white papers of people doing this and beating human made spec files.

* Utilize machine learning for classification of options, dependency resolution (utilizing previous data).

~~~
josteink
_Why utilize scheme?_

If emacs has thaught us anything, it is that when you give people a fully
featured language to fool around with, things you could never imagine can
start happening.

Why _not_ scheme? It's liberally licensed and already has mind-share. It's a
simple, no fuzz language with little obfuscating magic and great expressive
power.

It allows you to build your solutions as bare-bones as you like or go on full
architect should you need to. Sounds like just what the doctor ordered.

~~~
dhruvbird
Might as well use python because of greater?? adoption and ease of use?

~~~
jmtd
I suspect the fact there's GNU Guile, an entirely in-house Scheme ecosystem,
has a lot to do with it. Use Python and be beholden to the Python community
(outsiders!) Use JSON (as someone else suggested) and be beholden to the
Javascript/JSON community (outsiders! oh and that awful JSON license!) etc.

~~~
zokier
> Use JSON (as someone else suggested) and be beholden to the Javascript/JSON
> community (outsiders! oh and that awful JSON license!) etc.

JSON is just a file format. A simple one too. There are plenty of parsers
available, with various licenses.

------
jacquesm
> it’s not a bootable distribution yet, but rather one to be installed on top
> of a running GNU/Linux system.

For a moment there I thought the GNU Hurd had been finished, I misread it as
GNU Unix :(

~~~
xendo
GNU Hurd finished? Good one :)

~~~
sspiff
It is finished, in the sense like WebOS is finished.

~~~
soapdog
I use WebOS in two devices (a pre2 and a touchpad) every day and am pretty
happy about it. I think Enyo rocks and is available everywhere and that WebOS
is more user friendly than iOS and Android.

Now, how does that compares to GNU Hurd?

~~~
sspiff
I'm not saying WebOS is not good, or that it worse than any of the high-volume
platforms out there. The same goes for Hurd.

What I am saying is that both missed their shot and will never see high volume
pickup and large marketshares, in the way Linux, Android an iOS do.

------
taejo
It's "based on Nix", but what's the difference, and why fork?

~~~
icebraining

      Guix & Nix
      ~~~~~~~~~~
    
      Nix is really two things: a package build tool, implemented by a library
      and daemon, and a special-purpose programming language.  Guix relies on
      the former, but uses Scheme as a replacement for the latter.
      
      Technically, Guix makes remote procedure calls to the ‘nix-worker’
      daemon to perform operations on the store.  At the lowest level, Nix
      “derivations” represent promises of a build, stored in ‘.drv’ files in
      the store.  Guix produces such derivations, which are then interpreted
      by the daemon to perform the build.  Thus, Guix derivations can use
      derivations produced by Nix (and vice versa); in Guix, the cheat code is
      the ‘nixpkgs-derivation’ procedure.  :-)
      
      With Nix and the Nixpkgs distribution, package composition happens at
      the Nix language level, but builders are usually written in Bash.
      Conversely, Guix encourages the use of Scheme for both package
      composition and builders.
    

[http://lists.gnu.org/archive/html/guile-
user/2012-07/msg0000...](http://lists.gnu.org/archive/html/guile-
user/2012-07/msg00006.html)

------
s_husso
Can someone explain what benefits do I get for using this rather than the
package manager offered by my distribution? And do you need root access to
install guix? Because if you do then

> _unprivileged package management_

seems quite, well, useless imho. If on the other hand everything in guix lives
in the userland, I can see myself using it in the servers I don't have root-
access to..

~~~
eyko
No, you do not need root access in order to install guix. Put it in your home
folder, there, done. For ease of use add it to your $PATH.

~~~
s_husso
Thanks for clearing it up :)

------
huhtenberg
That's one misleading name if you ask me - GUI+X

------
zstumgoren
Both GNU Guix and Nix seem like excellent steps forward in bringing sanity to
package management. Does anyone know if puppet, chef, salt and similar
configuration management tools were inspired by these projects? At a cursory
glance, e.g., there are some striking similarities in the DSLs of NixOS and
Puppet.

------
klrr
What problem does it solve?

~~~
eyko
Does it need to? It's for hackers, not for every user. If you're bored and
feel like hacking on something, this might interest you. If it doesn't, Mr.
Ludovic is not trying to force you to use it.

For me, some of its features, specially non-privileged user package
management, are interesting. I'm not so much interested in the distribution at
the moment, more in the package manager. I imagine there aren't many supported
packages yet, so it's a matter of writing scripts... eventually it can become
a distribution. Not for everyone.

But I still see no problem in more package managers being out there - any one
has a problem with yum / apt being two different package managers? Why is yet
another package manager is a bad thing?

~~~
laumars
I principle you are right. However in practice there is a sane point where
there are so many competing solutions that you have to question why people
don't spend their time improving existing solutions instead of adding to the
fragmentation.

~~~
tedks
I highly recommend reading over some of the Nix papers -- what the author is
doing is totally divergent from nearly every other package manager in a way
that's either insane or brilliant (I don't personally know enough to judge). I
saw his talk at a software upgrades workshop, and it was pretty impressive.

------
davorak
I hope this causes a surge of interest in gnu guix, nixpkgs, and package
management systems with these nice features in general.

------
virtualritz
Yet another package manager? :) I've yet to see something that does a better
job than <http://paludis.exherbo.org/> And that is not to say Paludis couldn't
be improved. But I don't get why people devote time to the community to work
on stuff that has been thoroughly solved.

~~~
rokgarbas
you have yet to give guix or nix a try. been using paludis in past and i can
tell you that guix/nix is obvious evolution step :)

------
perone
Documentation ?

------
rocky1138
The Linux community needed this around 15 years ago when Windows 98 came out.
Now we've got .deb and .rpm which do the job perfectly well. It's even better
nowadays, as well, since their existence is effectively hidden from the user
thanks to package managers.

Too little, way too late.

~~~
hcarvalhoalves
I don't think package management is a solved problem. Most distributions fail
at the simple task of installing multiple versions of the same package
alongside each other. Also, lackluster dependency management (you install
library X, it wants to install mail server Y and database Z).

There are many approaches that one would mistake as being "reinventing the
wheel":

1\. FreeBSD ports system is barebones, but incredibly simple and transparent.

2\. Arch Linux's PKGBUILD recipes are also simple and, at times, a much better
alternative to binary packages.

3\. Gobo Linux (<http://www.gobolinux.org>) solved binary packaging the right
way by having each package in it's own tree. It's approach is similar to OS X,
which also gets this right.

~~~
antidoh
"you install library X, it wants to install mail server Y and database Z)"

Almost exactly what happened when I installed nmh. Wasn't at all obvious from
the dependency list that I'd get qmail, didn't pay attention to the warning
prompt and said Y, ...

Bonus, I have a bunch of new system accounts in my Display Manager's login
screen. Bleah. Fortunately my scorched-earth reinstall is coming up, so I just
leave them there to make it easier to hate what happened.

------
wooptoo
This could turn out way better than current package managers if GNU doesn't
screw it up.

~~~
davorak
Well there is already nixpkgs which has existed for a while with core features
that I saw mentioned. I would be happy if there was increased interest in both
and their feature set.

------
eterps
How can I give it a try? F.e. if I want to install my own vim in my home
directory?

~~~
rokgarbas
havent try guix yet, but with nix you can simply do: nix-env -i vim or vimFull
and it should install it.

look in documentation at <http://nixos.org/nix/> on how to install nix and
drop on irc.freenode.org#nixos if having problems

------
na85
I suppose it's nice that GNU has a "GNU-branded" package manager... I guess...

------
JonnyB
I love it! Please use it and add a ton of packges.

Because i'm too lazy :)

------
devb0x
Ill stick with apt and yum than you. They've proved themselves enough to me

------
luxxx
I like that this brings out a bunch of people who don't understand Scheme or
why it's important to be purely functional. Oh you, startup kids.

