[Nix-dev] Buildenv hook mechanism

Vladimír Čunát vcunat at gmail.com
Tue Jan 25 22:10:29 CET 2011


Hi. (original subject: Icon cache problems with GTK apps)
> Yes, this has been proposed many times, but I think nobody stepped up to
> actually do it.  Would you like to be the one who dares?  :-)
Well then, I'll try to come up with a buildenv hook mechanism as soon
as I find some time for it.

> I was able to solve some icon issues by symlinking
In the case of icons it only suffices to run gtk-update-icon-cache on
the */share/icons/* directories as is hardcoded in the system-path
buildenv (nixos/modules/config/system-path.nix).
There is also the other problem: the icon-cache files should never
make it into the nix store as they are (IMHO) useless and only cause
collisions. I don't know what is the best way to get rid of them,
because I don't see a simple way of adding a postInstall or xxFixup
hook to all GTK packages. What do you think? The simplest way is to
add it to the fixup phase of the generic builder. It isn't modular,
but I don't think it matters in this case.

I've also been confused from the fact that there are two environment builders.
nix/corepkgs/buildenv/builder.pl.in is used by nix for user
environments and nixpkgs/pkgs/build-support/buildenv/builder.pl is
used as a tool in nixpkgs and also to build nixos envs.
Is there any particular reason for having two builders? IMO it would
be better to have one well-defined builder that would be configurable
enough to handle the needs of both user and system environments (but I
haven't yet looked too much into the internals).

Thanks.
Vlada



More information about the nix-dev mailing list