!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

419 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.141 Servers

Load older messages


SenderMessageTime
12 Aug 2025
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)Thank you xokdvium for this!20:18:46
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Sure. I'll bring this issue up at the nix team meeting as well. I'd be in favor of dropping this feature on master. Digging through toml11 def wasn't a great experience.20:20:09
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)(expectations for the work above: I can probably review some CLs around that but I'm on holidays for the next 5 days, so I won't take care of it immediately)21:13:26
13 Aug 2025
@niko:nrab.lolniko ⚡️oh no I was wondering why nix build on lix main wouldn't reproduce them and turns out the other failing install checks only error on new nixpkgs unstable that's not a good sign09:53:56
@picnoir:alternativebit.frPicnoir changed their display name from Picnoir DECT 7426 to Picnoir.13:24:51
@emilazy:matrix.orgemily

has anyone run into this on macOS error: failed to extract archive (Cannot extract through symlink /tmp/nix-50z48nbfhpxw5h6rvfcpq4ibip/nix-darwin-e04a388232d9a6ba56967ce5b53a8a6f713cdfcf)

it might be related to me trying to recover my busted system right now but I usually have /nix/tmp as my temp-dir and I'm wondering if there is actually some broken behaviour around /tmp -> /private/tmp when using --store local with the default config

15:35:17
@emilazy:matrix.orgemily --temp-dir /private/tmp fixes it 15:35:35
14 Aug 2025
@emilazy:matrix.orgemily overlay may need adjusting for https://github.com/NixOS/nixpkgs/pull/433617, though should probably be harmless as the users are on nixComponents.* or a specific version now I guess 14:09:10
@emilazy:matrix.orgemily is there a reason we reject builtins.fromJSON "9223372036854775808" but allow builtins.fromJSON "-9223372036854775809" and produce a float 14:49:01
@emilazy:matrix.orgemily it seems intentional (error: unsigned json number 9223372036854775808 outside of Nix integer range, "unsigned" specifically) but it also seems bizarre 14:49:14
@emilazy:matrix.orgemily
@note There are three enumeration entries (number_integer, number_unsigned, and
number_float), because the library distinguishes these three types for numbers:
@ref basic_json::number_unsigned_t is used for unsigned integers,
@ref basic_json::number_integer_t is used for signed integers, and
@ref basic_json::number_float_t is used for floating-point numbers or to
approximate integers which do not fit in the limits of their respective type.
14:51:57
@emilazy:matrix.orgemily so it's handled like that in nlohmann_json to allow lossless parsing of bigger-than-signed integers if you have an unsigned type as C++ does 14:52:27
@emilazy:matrix.orgemilybut Nix only has a signed integer type14:52:35
@emilazy:matrix.orgemily if we're doing "values outside the range get approximated as floats" a la JavaScript (though note that we losslessly represent more values than JS does already since we have a separate integer type…), then we should do that for too-large signed integers too 14:53:11
@emilazy:matrix.orgemilyotherwise, we should reject out-of-range integers regardless of sign14:53:31
@emilazy:matrix.orgemily(this probably means our JSON serialization is nonportable too by RFC rules?)14:53:41
@emilazy:matrix.orgemily IOW, the nlohmann_json semantics are "we try to find an integer type we can fit a literal into, and otherwise we produce a float" 14:54:35
@emilazy:matrix.orgemily if we were to implement "we try to find an integer type we can fit a literal into, and otherwise we produce a float" in Nix, we should produce a float for builtins.fromJSON "9223372036854775808" 14:54:52
@emilazy:matrix.orgemily otherwise, if we want "we reject integer-looking literals that don't fit into an integer type, and produce a float only for explicitly float-y values", we should error out on builtins.fromJSON "-9223372036854775809" 14:55:16
@emilazy:matrix.orgemily the current combination of behaviour seems like an unjustifiable accident caused by the impedance mismatch between nlohmann_json's API oriented around C++ numeric types, and Nix's signed-only integers 14:55:45
@emilazy:matrix.orgemilyP.S. I want to cry14:56:12
@weethet:catgirl.cloudWeetHet @raitobezarius:matrix.org please review https://gerrit.lix.systems/c/lix/+/3862 15:29:28
@piegames:flausch.socialpiegames
In reply to @emilazy:matrix.org
IOW, the nlohmann_json semantics are "we try to find an integer type we can fit a literal into, and otherwise we produce a float"
Thanks, I hate it
15:34:14
@emilazy:matrix.orgemilywell, blame JavaScript :)15:34:30
@emilazy:matrix.orgemily(and JSON for not specifying any goddamn semantics at all at first)15:34:35
@piegames:flausch.socialpiegamesTbh if a library does untyped bullshit like that, I preferably want it out of my sight15:34:47
@emilazy:matrix.orgemilyno, this is just JSON15:34:58
@emilazy:matrix.orgemilyJSON has only one numeric type, because JavaScript does15:35:05
@emilazy:matrix.orgemilyits type is even vaguer than JavaScript's however15:35:09
@emilazy:matrix.orgemilyI don't have a strong opinion on "reject integer-looking things that are out of Nix integer range" vs. "always produce floats for things outside of Nix integer range"; both have their merits. the current state seems unjustifiable though15:35:36

Show newer messages


Back to Room ListRoom Version: 10