NixOS / nix

Nix, the purely functional package manager
https://nixos.org/
GNU Lesser General Public License v2.1
12.89k stars 1.52k forks source link

Huge closure size increase in the default Nix package #11864

Open edolstra opened 1 week ago

edolstra commented 1 week ago

Describe the bug

Nix 2.24.0:

$ nix path-info -Sh nix/2.24.0
/nix/store/wxbz8df1xbh2nighqq6vjqidh7garmcq-nix-2.24.0    93.8 MiB

Nix master:

$ nix path-info -Sh nix/2e2198fd912a8725eabd96fc4530cc92401dafad
/nix/store/x41271p4hs7531bab22n513b2miaj00n-nix-2.26.0pre20241112_2e2198f        232.2 MiB

This is extra important because we removed the old build system, so we have to use nix-everything now.

Reasons for the increase:

Priorities

Add :+1: to issues you find important.

edolstra commented 1 week ago

Probably the default package shouldn't be nix-everything but a buildEnv that excludes the API docs (or maybe they could be in separate outputs) and nix-perl. Ideally it would depend on the tests without including them.