!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

418 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
28 Jul 2025
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)FOD work will probably be dominated by download speed and disk write speeds02:31:24
@esperlily:matrix.orgEsperLily [she/her]i don't know, i hope not, it just feels wasteful to be constantly copying a file around, especially when the file is in the nix store anyway. if Linux has been copying it the whole time then i suppose it's unlikely to be a performance problem02:31:53
@jade_:matrix.orgjade_ I think we have clear evidence that if we wanted to make lix much faster we have other places to look than a 500kb file copy 02:31:55
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)i mean, it might not be a performance problem now02:32:27
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)and maybe once we do enough scalability work02:32:32
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)it will become one02:32:33
@jade_:matrix.orgjade_and tbh i think that the most productive thing is to just pick a resolution of code that is not too complex and works and deal with the perf later as we build better tools (e.g. tracing) to have any idea what our perf is like02:32:48
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)and at that time, i hope we will be in a situation to make the "import to the store" solution work nicely02:32:49
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)this is the kind of tradeoffs i would like to make by not doing more optimization here02:33:02
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)obviously with Nix, we are mostly blind, for now02:33:25
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)once we have more DTrace USDT probes, I hope to add some eBPF exporter to some of the Lix infra and more to examine more things02:33:37
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)And then I hope I can capture some useful information on large scale performance regressions02:33:54
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)(and also synthetic benchmarks for these types of regressions as well)02:34:03
@jade_:matrix.orgjade_yesss02:34:07
@esperlily:matrix.orgEsperLily [she/her] i will note that if the ssl-cert-file setting points to a path that has permissions problems, that probably wasn't a blocker for Lix before, but with the new code a permissions issue will throw an exception from pathExists() (you could change that pathExists() call to a pathAccessible(path, false) call since that's just pathExists() with a few error types caught). i don't know if this matters, it is weird to configure a path that Lix can't read 02:34:12
@jade_:matrix.orgjade_might have annoying effects if the sysadmin thinks it's only read by the daemon or something mayb02:34:41
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)
In reply to @esperlily:matrix.org
i will note that if the ssl-cert-file setting points to a path that has permissions problems, that probably wasn't a blocker for Lix before, but with the new code a permissions issue will throw an exception from pathExists() (you could change that pathExists() call to a pathAccessible(path, false) call since that's just pathExists() with a few error types caught). i don't know if this matters, it is weird to configure a path that Lix can't read
well there's the classical context problem
02:35:39
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)if you run nix with NIX_REMOTE=local as a user02:35:43
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)vs. nix daemon02:35:46
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)and you use a path only readable by root02:35:49
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)either way, I will try to look at this once I'm less tired because I'm not exactly sure what you mean02:36:02
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)My intent here was to increase debuggability02:36:08
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)if I didn't get it right, this is a bug02:36:20
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)if you intended to configure a CA file and it does not exist or is not accessible, you should get an error and unset it02:36:56
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)is what I'm going for02:36:59
@raitobezarius:matrix.orgraitobezarius (DECT: 7248) because debugging why your FOD transfers files inside the build is harder 02:37:08
@esperlily:matrix.orgEsperLily [she/her] the code that installs the certs calls pathAccessible(settings.caFile) first, that's the thing that I said needs to be pathAccessible(settings.caFile, true). But if that returns false, the code then checks if pathExists(settings.caFile) in order to throw a warning that the path exists but is inaccessible. Unfortunately if the path isn't accessible because of a permissions problem, then the pathExists call will throw an exception. So that pathExists should be pathAccessible(settings.caFile, false) (or pathAccessible(settings.caFile)), so that way a permissions problem just turns into false 02:37:35
@esperlily:matrix.orgEsperLily [she/her]oops that was supposed to be a replyto this02:37:50
@esperlily:matrix.orgEsperLily [she/her]* oops that was supposed to be a reply to this02:37:54
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)
In reply to @esperlily:matrix.org
the code that installs the certs calls pathAccessible(settings.caFile) first, that's the thing that I said needs to be pathAccessible(settings.caFile, true). But if that returns false, the code then checks if pathExists(settings.caFile) in order to throw a warning that the path exists but is inaccessible. Unfortunately if the path isn't accessible because of a permissions problem, then the pathExists call will throw an exception. So that pathExists should be pathAccessible(settings.caFile, false) (or pathAccessible(settings.caFile)), so that way a permissions problem just turns into false
well spotted
02:38:05

Show newer messages


Back to Room ListRoom Version: 10