227e4d349f212b82a4ed594653e0ff7f7b28a327
SSH runs the command provided to it in the user's login shell. That's a feature and is impossible to bypass (trust me, we tried). The previous implementation of `echo started; nix-store --stdio` broke with shells that treat `;` differently, e.g. nushell, which eats the output of everything but the last command in a chain. In the more general case, this means that a sufficiently weird shell can do _anything_ it wants to the command we pass via SSH, so we're forced to rely on as little functionality as possible. The subset we're hereby settling on is just "running `bash` runs bash". We then run bash, in non-interactive mode, which gives us a somewhat consistent environment do to things in. This whole thing is extremely cursed, but fixing it _correctly_ requires pretty much entirely rewriting how remote stores work, and I'm not doing that right now. Fixes #805. Change-Id: Icac846e8cd821cbca91860ddaa0f657b4317dbf8 Co-authored-by: eldritch horrors <pennae@lix.systems>
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%