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

Dmitry Kalinkin dmitry.kalinkin at gmail.com
Fri Mar 17 22:34:10 CET 2017


> On 17 Mar 2017, at 12:48, Marc Weber <marco-oweber at gmx.de> wrote:
> 
> Nix is 'software distribution platform', not a dev platform.
I never could understand this. Some people are also saying that nix-shell is sometimes not being used in the "intended way". However, nix developers seem to not be aware:
https://github.com/NixOS/nix/blob/1.11-maintenance/dev-shell

Also it is funny how your statement is followed by some good advice on how to turn nix into even better dev platform. I will only add that one could also use ccache to speedup builds:

my_cool_package.override { stdenv = pkgs.ccacheStdenv; }
> 
> Depending on the task other solutions might be better.
> 
> For instance  restarting nginx/ apache the nixos way is also slower than
> edit/restart cycle on 'debian'. So use the right tool / env for your
> job.
> 
> There was a hack to impurely rewrite some dependencies for security
> reasons - forgot about it - so maybe you can force impurity to speed up
> your workflow.
> 
> In the kernel case hat takes most time will be 'building it', thus you
> can try 'get compiled data' from your directory (binary distribution)
> like, then use something like nixos build-vm or such (disk caching
> reasons - no restart required).
> 
> You can also try creating links to your 'dev' directory and switch off
> sandoxing and add a 'dummy env vars' which you increment to force
> rebuilding.
> 
> Marc Weber
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev



More information about the nix-dev mailing list