[Nix-dev] How do you work on big packages?

Dmitry Kalinkin dmitry.kalinkin at gmail.com
Fri Mar 24 23:47:48 CET 2017


On Tue, Mar 21, 2017 at 10:01 AM, Kosyrev Serge <skosyrev at ptsecurity.com> wrote:
>
> Dmitry Kalinkin writes:
>>  On 17 Mar 2017, at 17:44, Vladimír Čunát <vcunat at gmail.com> wrote:
>>
>>  I do believe the intention was for "SW distribution" etc, at least
>>  primarily, and the suitability for development is a by-product due to
>>  some properties, e.g. easy (non-)mixing of development and stable
>>  versions/configs. Marc can surely remember the earlier days of NixOS.
>>
>> So nix has “nix copy” functionality to do the distribution part. But the rest of the nix system allows to describe a
>> relatively general computation process in Unix-like environment. I use nix derivations to run a numerical
>> calculation code and store intermediate steps in outputs. I imagine, there are some “SW distribution”-oriented
>> users facing more resistance when using nix than me doing my thing. I also think that the nix/NixOS community
>> will have lots of people who appreciate generality of nix as a tool.
>>
>>  It's even possible to use nix-build instead of make to compile
>>  individual files, but there it just doesn't seem to be very suitable…
>>
>> Yes. Like https://github.com/edolstra/nix-make . I wonder what didn’t work out.
>
> Garbage management becomes complicated from a human perspective, I guess.
>
> Perhaps, Nix could adopt a generational GC approach, to avoid mixing
> long-lived packages-related-files and short-lived build-related files..
>
Yes. I think a good way to address this would be to have nix support
external stores. That way nix-make can store its artefacts separately.
Also this would allow to store data files on a separate volume
optimised for big files.


More information about the nix-dev mailing list