!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

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

Load older messages


SenderMessageTime
30 Jul 2025
@emilazy:matrix.orgemilynow it's happy. go figure18:02:00
@emilazy:matrix.orgemilymy guess is that something got interrupted and left the state broken18:02:09
@saiko:knifepoint.netKatalin 🔪nice!18:02:12
@emilazy:matrix.orgemilyif only we had some kind of hash-addressed atomic build system to avoid cache invalidation problems18:02:21
@saiko:knifepoint.netKatalin 🔪yeah, that can happen, because it only unpacks it if it;s missing18:02:28
@emilazy:matrix.orgemilythanks for the pointer18:02:30
@saiko:knifepoint.netKatalin 🔪hey, the wrap system is hash-checked! however it is intended to allow you to modify the source directory so you can more easily write a patch for it (meson subprojects packagefiles --save) so it won’t check modifications.18:04:44
@saiko:knifepoint.netKatalin 🔪but yeah just nuke the subproject source and it will set it up fresh if this happens18:05:14
31 Jul 2025
@rafaelsgirao:matrix.orgRafael Girão joined the room.13:22:38
@rafaelsgirao:matrix.orgRafael Girão

Hi! What's the technical reason against lazy-trees? (assuming it is a technical one)
I just learned about the feature in determinate nix, then I saw Lix's about page:

Lix does not include lazy trees, and does not intend to use the upstream implementation of lazy trees; a functionally equivalent replacement is planned (FIXME: publish the planning document for that).

13:29:22
@rafaelsgirao:matrix.orgRafael GirãoIs the planning document public yet? 😅13:29:32
@k900:0upti.meK900The implementation in cppnix is basically horribly broken13:30:37
@raitobezarius:matrix.orgraitobezarius (DECT: 7248) Lix already has an implementation of lazy trees: https://git.lix.systems/lix-project/flake-compat#copying-to-the-store 13:42:26
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)It's not just public yet13:42:29
@weethet:catgirl.cloudWeetHethttps://gerrit.lix.systems/c/lix/+/384313:47:20
@weethet:catgirl.cloudWeetHet
In reply to @raitobezarius:matrix.org
Lix already has an implementation of lazy trees: https://git.lix.systems/lix-project/flake-compat#copying-to-the-store
Impure evaluation without copying the tree to store is not particularly interesting
13:58:59
@weethet:catgirl.cloudWeetHet It's been possible since forever 13:59:14
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)But that's exactly lazy trees? :'D13:59:34
@weethet:catgirl.cloudWeetHet
In reply to @raitobezarius:matrix.org
But that's exactly lazy trees? :'D
Lazy trees do pure evaluation
14:00:04
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)
In reply to @weethet:catgirl.cloud
Lazy trees do pure evaluation
Oh well, this is the first time I hear about this then
14:00:24
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)Last time I read CppNix source code, I saw a use of a non-pure primitive :)14:00:36
@raitobezarius:matrix.orgraitobezarius (DECT: 7248) making the whole evaluation impure 14:00:44
@weethet:catgirl.cloudWeetHethttps://github.com/NixOS/nix/pull/13225/files14:03:06
@weethet:catgirl.cloudWeetHetI don't see anything impure?14:03:11
@raitobezarius:matrix.orgraitobezarius (DECT: 7248) https://github.com/NixOS/nix/pull/13225/files#diff-34086a6cc2cf161aec3ef471b784dc65d0afbab7fe1b921af8211ff67492bbb9R79 14:03:48
@weethet:catgirl.cloudWeetHetIt's not impure it's uhh non-deterministic 14:04:29
@weethet:catgirl.cloudWeetHetAnd it's only because computing the hash before copying is slow?14:05:00
@weethet:catgirl.cloudWeetHetAnd it's only non-deterministic if you're comparing the paths for equality14:06:08
@weethet:catgirl.cloudWeetHet* And it's only non-deterministic if you're comparing paths for equality14:06:21
@weethet:catgirl.cloudWeetHetI'm not sure that's even a real usecase14:06:32

Show newer messages


Back to Room ListRoom Version: 10