[Nix-dev] Reorganization of the nixpkg file hierarchy

John Altobelli acocaracha at gmail.com
Sat Feb 7 17:11:45 CET 2009


Michael, that's a pretty interesting idea.  I see it almost like
keywords for each package and these tags could then automatically (via
a script) create syslinks in another file hierarchy.  Maybe a
pkgs_flat directory could be added alongside pkgs and contain all the
syslinks organized in the portage based system.

A question would be where do these tags go?  Should they be in
all-packages.nix, the default.nix file, or as a .tags file within each
package folder?

For example an audacious flag could be : applications, media, audio,
player.  From that a script could see applications and media and put a
syslink in app-media.  It is possible to have one in more that one
location and that would be okay.

The problems I could see would be that someone makes a new package and
doesn't run the script, or doesn't manually add the syslinks.

It's good to see a couple of people agree that the current system is
not perfect.  My biggest gripes with the system is that there aren't
enough division among the organizational structure, there are way too
many packages in misc, and I don't believe there should ever be be an
os-specific folder.  A windows application that runs the same function
as a linux application should be right next to each other.  The
delineation should be within the package.  I think default.nix should
be changed to default_linux.nix and if the same package could be
compiled on windows there should be a default_win.nix.  But I have
some file organizational ideas I'll share in another email at a later
time.

On Fri, Feb 6, 2009 at 3:04 AM, Michael Raskin <7c6f434c at mail.ru> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> John Altobelli wrote:
>> For the past week I've been working on a branch of nixpkgs that moves
>> the packages into an file hierarchy modeled after the Gentoo portage
>> system (http://gentoo-portage.com/Browse).  I have since completed the
>> reorganization and would like to get the opinions of the developers
>
> First, I want to thank you for making such an effort in an attempt to
> improve NixPkgs collection.
>
>> This system would use a single directory organizational structure with
>> the project directory directly under that directory (ie
>> media-sound/audacious).  The existing packages have been moved to
>> where they would exist in the portage system.  I am not saying at all
>> that they need to remain there, as directories can be combined and/or
>> renamed.  However, at this time it was easier for me to stick to the
>> portage tree for the most part in the initial reorganization.
>
> Personally, I would prefer a multilevel system. Personally, I would
> prefer to discuss changes in a more local way. For example, if
> development/libraries were split in Gentoo-borrowed categories, I would
> consider it an improvement (over current disordered state). Merging
> tools/ and applications/, on the other hand, seems to be better done
> based on existing system.
>
>> I feel this system is much easier to locate packages and more friendly
>> to new developers.  Most of the changes are to nixpkgs, however there
>> are a few adjustments that needed to be made to nixos.  I have tested
>> both and in fact have them as my /etc/nixos/nixos and
>> /etc/nixos/nixpkgs without any problems.
>
> I think that it is a time to start tagging (as in using symlinks). I
> think that from your patch we can automatically determine the
> many-to-many correspondence between Gentoo hierarchy and old NixPkgs
> hierarchy. Then - as the first step - it would be very useful to have
> "gentoo-correspondence" directory with Gentoo directory structure and
> symlinks to all our directories with the packages from that Gentoo
> package group.
>
> There are some optimistic cases:
> If our modern system allows one-to-one mapping of leaves to gentoo
> groups, those who want will navigate it via Gentoo-like symlinks. If we
> have some Gentoo group as an intermediate node split further - symlink
> that node, and we just continue to use better granularity. If we  have
> some Gentoo group split between distant leaves - we-ell, maybe it is
> time to merge tools/ and applications. If we confuse a few Gentoo groups
> - - we should look whether it is worth splitting now (and symlinks will
> help to find that point).
>
> In the problematic cases, when we have two groups corresponding to two
> Gentoo groups but split in another way, we could discuss them case-by-case..
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iQEcBAEBAgAGBQJJi+8RAAoJEE6tnN0aWvw3qFkIAKDjdmOvWWV9dkx6UToDYiHV
> 7Lyg/okmuDrLWolR0CEr/yUfmCf112aJalRLH5MLjy2Go2r88FoQZDF8CkYpjXff
> xgGujRRxqwb4NREpN0nMDdkNI/7QZUpkkWfIJsCPCFQZrLWT+HSVAgMIZQ1EfYEx
> iQKB3r63ANyd33pISNIaEUjWubJ67aSUVaaBFx3D0usS2V4Tytc07UJiTy/tAqu6
> /BolIHbknqLnVYqevjxn+tI10IXAsK91NZYX8U7wmpDT4QBMpnupZs7HzX0DvJJp
> RQvzm2+KlXEhPBW/uPzylHK7YK/w7Mtn1rOI8/gMFeAAVEqvkSjmNFeB6iHhA48=
> =P4aq
> -----END PGP SIGNATURE-----
> _______________________________________________
> nix-dev mailing list
> nix-dev at cs.uu.nl
> https://mail.cs.uu.nl/mailman/listinfo/nix-dev
>



More information about the nix-dev mailing list