Hello,

I'm currently evaluating nix (0.11) as a package management that could help to manage third party tools along the system on RHEL/CentOS linux distribution (3, 4, 5).

Of course Nix seems to be a good candidate, thanks to its numerous
lovely features !
One of the most interesting one (for me) is the ability to store numerous binary packages of different versions all along (and their dependancies), so any of them remain easily available.

Contrary the nix purity philosophy, I would like to use a lot of tools/libs provided by my Linux distribution, instead of relying only on nix packages (and thus rebuild a complete system in the nix world). I would like also to keep the ability to easily switch from a platform tool onto a nix packaged one.
Example:
  . use libc from the platform (always)
  . use gcc from the platform (/usr/bin/gcc)
  . use a newer gcc than /usr/bin/gcc : use a nix package

I've began to read file pkgs/top-level/all-packages.nix and files related to stdenv, but I can't figure out how to reach this goal.

In my mind, the most lazy way to do this will be to create my-packages.nix with a code like:
 import ./pkgs/top-level/all-packages.nix
then modify some attributes (or redefine them), in order to use the libc or gcc from the platform for instance.

By this way, I will "benefit" from all the features/dependancies already written in all-packages.nix, instead of trying to rewrite it from scratch (and have a worth version).

But ./pkgs/top-level/all-packages.nix have only few attributes/variables in its interface for a derivation, no ?

And even if I write my-packages.nix from scratch (inspired from all-packages.nix content), I think to have troubles with stdenv nix files related to linux platform, since it's code tend to consider that this platform absolutely needs a gcc nix package for instance, no ?
Contrary to the Darwin platform, where nix uses the native compiler.

Do you think I will be obliged to redefine the "core" options for the linux platform or create a new platform (like "my-linux") that superseeds the provided linux platform in stdenv ?

Thanks in advance for your comments.
If you have any advices or clue, don't hesitate ;-)

And sorry for my english, that is not better than my nix skills (at least right now ;-)

Pierre Bourgin
_______________________________________________
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to