Nix: Get rid of the Perl dependency


The goal is to get rid of Perl as runtime dependency for Nix package manager.

This will have many implications:

- reduce closure size of Nix by 50 MB
- Nix will be written only in C++ (and some bash)
- better cross-platform (cross compile) support

Level of effort

The work consists of converting each of the scripts in the scripts/ directory (except the shell scripts, nix-http-export, nix-reduce-build, and show-duplication) into standalone c++ programs.

It may be natural to add some stuff to core Nix libraries as part of that.

If necessary for external projects (e.g. hydra) the nix/perl directory can be kept there and built as a separate package.

Note: Manifests (preceeding binary caches) and binary patching (depends on manifests) won't be ported as part of this effort. The feature will be dropped.

Developer: Shea Levy

Shea is a core contributor to NixOS ecosystem in general. He is also second top contribor to Nix (by number of commits).

Shea is going to implement this proposal if we meet the funding goal.
  • Jozko Skrablin 
    • $68 
    • 70 mos
  • Tuomas Tynkkynen 
    • $42 
    • 70 mos
  • Sergey Mironov 
    • $10 
    • 70 mos
  • Badi' Abdul-Wahid 
    • $100 
    • 70 mos
  • Anonymous 
    • $50 
    • 70 mos
See all

Organizer and beneficiary

Domen Kožar 
Portsmouth, NH
Shea Levy 
  • #1 fundraising platform

    More people start fundraisers on GoFundMe than on any other platform. Learn more

  • GoFundMe Guarantee

    In the rare case something isn’t right, we will work with you to determine if misuse occurred. Learn more

  • Expert advice

    Contact us with your questions and we’ll answer, day or night. Learn more