[Nix-dev] Re: Installing TeXLive

Andres Loeh andres.loeh at googlemail.com
Fri Oct 10 09:30:20 CEST 2008


I know I asked and thought about this user environment hook before as well,
but the longer I work with NixOS, the less I think it's in the spirit of the
system. Almost all situations I have encountered can be solved with
functions that do the work, and having functions assigned to it makes the
compositions of packages clear, whereas dynamic composition in a user
profile is terribly fragile.

For example, if you install texlive to your profile and some packages, then
remove texlive, the packages will remain. For ghc, the situation is worse:
you install ghc, then libraries for that version of ghc, then upgrade ghc
and still have the incorrectly versioned libraries in your profile. These
issues don't arise when using wrapper functions.

I think it is wrong of NixOS to give an UI advantage to packages that are
composed for you already in all-packages.nix (the advantage being that they
can easily be queried and installed by the package name rather than the Nix
attribute name). We should encourage users to compose their own packages,
because that's part of the strength of NixOS. I have shown in my previous mail
that often, it is not that hard -- you just have to write a little Nix program
in your home directory. On the other hand, it's still much harder than using
nix-env -i directly, and we should think about ways to simplify this approach.

Cheers,
  Andres



More information about the nix-dev mailing list