b5971baa4ff2e4487feed53339b310336a93bfda
/nix/var/nix/b for build-dir
The minimum build directory length on Darwin with default settings when we were still using `/tmp` was 22 bytes. Deriving build directory names from my local store, the median and mode were 43, the mean was around 44½, and the maximum was 127. The switch to `/nix/var/nix/builds` over `/tmp` added a 15 byte penalty, and the additional `/b` directory added another 2. Now that we use opaque build directory names, the length is 48, so we’re still at a ~3½–5 byte penalty over the previous status quo. This change brings us down to 43, matching the previous median. Note that these calculations do not take into account the fact that `/tmp` is a symbolic link to `/private/tmp` on Darwin. Anything that was canonicalizing paths would have had an additional 8 byte penalty in the previous status quo that is not applicable here, so we may already be ahead even without this change. If the more opaque directory name here is undesirable, then that factor could potentially help us squeeze by without. Alternatively, in combination with dropping the `/b` on Darwin we could use `/nix/var/nix/bld` or similar, but I feel that the paths in general are sufficiently opaque that it should be okay to go with the shorter option here. Given that some projects already had to reduce filename lengths to avoid this limit even before the recent changes, I think it is best to try and improve on the previous status quo. Note that `/nix/var/nix/builds` will unfortunately not be cleaned up on Darwin. However, we don’t clean up the directories inside it on Darwin anyway, so hopefully that’s okay for now? Closes: #913 Change-Id: I6a6a6964bffce7194bcddcaefb4c4a37569c7df5
Lix
Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.
Read more about us at https://lix.systems.
Installation
On Linux and macOS the easiest way to install Lix is to run the following shell command (as a user other than root):
$ curl -sSf -L https://install.lix.systems/lix | sh -s -- install
For systems that already have a Nix implementation installed, such as NixOS systems, read our install page
Building And Developing
See our Hacking guide in our manual for instruction on how to set up a development environment and build Lix from source.
Additional Resources
- The Lix reference manual:
- Our wiki
- Matrix - #space:lix.systems
License
Lix is released under LGPL-2.1-or-later.
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
92 MiB
Languages
C++
74.9%
Python
11.7%
Nix
6.1%
Shell
3.6%
Meson
2%
Other
1.6%