[Nix-dev] Re: Reorganization of the nixpkg file hierarchy

John Altobelli acocaracha at gmail.com
Thu Feb 5 23:45:54 CET 2009


On Thu, Feb 5, 2009 at 4:34 PM, Andres Loeh <andres.loeh at googlemail.com> wrote:
> Having used both Gentoo and NixOS,
> I don't see the advantage of Gentoo's categories over Nix's current system.
> In fact, as other have pointed out, I think having a single level is
> less convenient
> than having a full directory structure. You say that for Gentoo, it's
> immediately
> obvious where to put a new package. Why? Just because there are more packages
> in Gentoo, and it's easier to find a similar one? That'd hardly be an
> argument for
> the categorization, only one for putting more packages into Nix ...

I don't remember comparing the number of packages of portage and nix.
I believe I said that for new developers searching for a package
within the portage system would make it easier to find where it would
go in this new directory system.  Simply going to the pkgs directory
and looking at all the places it could go would serve the same
function, whereas in the current system there could be any number of
subdirectories.

>
> Generally, cateogories serve a number of different purposes: organization of
> packages, finding packages, and disambiguation of names. Organization only
> applies to developers, and in the end, I don't care very much which system we
> use. I think the current one is fine, actually. For finding packages, I strongly
> believe that a keyword/tag system is superior to simple categories. Each package
> should be allowed to have multiple tags. For disambiguation, Nixpkgs currently
> doesn't have a system in place (whereas Gentoo categories are used for this
> purpose as well). That might be worth thinking about, because
> arbitrarily renaming
> one of two conflicting packages seems a bit strange.

Organization: You are right that this change only affects the
developer and the end user should see no changes.  But all the
packages could be in one big directory and the end user wouldn't know
because their locations are stored in all-packages.nix.  So the change
seeks to improve the developer experience and make it easier to gain
more contributors.

Finding packages: Again all-packages.nix takes care of that.

Tags can't ever really be used for organization, because the installer
must know exactly where to look for more information about a package
(ie how to install it).  A static place is completely necessary for
this task.

>
> Cheers,
>  Andres
> _______________________________________________
> nix-dev mailing list
> nix-dev at cs.uu.nl
> https://mail.cs.uu.nl/mailman/listinfo/nix-dev
>

Thanks for the response.



More information about the nix-dev mailing list