Regarding RFC 148 -
The feature is called "pipe-operators"
in nix:
but "pipe-operator"
in lix:
This makes it more of a hassle to test differences between, or freely switch between, lix and nix.
CC @jade
Regarding RFC 148 -
The feature is called "pipe-operators"
in nix:
but "pipe-operator"
in lix:
This makes it more of a hassle to test differences between, or freely switch between, lix and nix.
CC @jade
Both were implemented fairly independently, hence the mismatch. I picked the singular name for the Lix implementation because the RFC always was about ātheā pipe operator and it is far from certain that the backwards pipe is going to make it through stabilization.
As a workaround, you can just enable both features, this will have no consequences except CppNix/Lix warning about an unknown experimental features
Unfortunately, enabling an invalid feature blocks rebuilds, and Iām not exactly keen on disabling nix.checkConfig
, since that opens up the possibility of actually making (n/l)ix unusable until I pull out a live image or such.
Not only are the names different, but so is the operator precedence. I would not advise using the feature if you are switching back and forth between Nix and CppLix.
I donāt mix the two in the same expression,so that shouldnāt be an issue for me, but thatās a good note.
https://nix.dev/manual/nix/2.24/language/operators.html#operators
https://docs.lix.systems/manual/lix/stable/language/operators.html#operators
and Iām not exactly keen on disabling nix.checkConfig, since that opens up the possibility of actually making (n/l)ix unusable until I pull out a live image or such.
Hmm, why does checkConfig
block on such a harmless thing in the first place?
If itās supposed to be protecting one from messing up nix.conf
(which is reasonable), Iād argue that it shouldnāt really do that.
I agree! I donāt think setting an invalid experimental feature should be considered a ābrokenā config either, since nix usually just ignores features it doesnāt know about
ā¦and after looking at the nix module to see how checkConfig
worked, I just discovered thereās also nix.checkAllErrors
which can be set to false
to do exactly what I would expect here
EDIT: or maybe it does the opposite of what I want? Arguably the real problem is on this line: