!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

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

Load older messages


SenderMessageTime
29 Jul 2025
@emilazy:matrix.orgemily I notice that the derivation in Nixpkgs already did this devdoc stuff and I just wasted a non-trivial amount of time :) 20:14:37
@emilazy:matrix.orgemilyis there no systematic sync between those two?20:14:44
@emilazy:matrix.orgemily I'll leave what I have up since it's an improvement over HEAD, but it seems like it would be good to minimize the drift between those two to avoid redundant work. 20:16:09
@marie:marie.cologneMariehi, I do a applyPatches thing to apply PR's to my nixpkgs and I've been getting really annoyed that lix copies nixpkgs into the store on every invocation, even though it is already in the store. From googling around this seems to be a known issue. If I call my patched thing "source" the problem goes away. Does anyone know if there is a good reason to only allow "source" here: https://git.lix.systems/lix-project/lix/src/commit/93acdd40f6c3eab1a25ea03d7a160433ed551677/lix/libfetchers/path.cc#L13821:57:17
@marie:marie.cologneMarieSeems to work fine when I remove the restriction, but I don't know much about the codebase, so no idea if this could break something22:11:36
@jade_:matrix.orgjade_i think there is an issue about this somewhere23:56:34
@jade_:matrix.orgjade_i am not sure lol23:56:40
@jade_:matrix.orgjade_i think you should just change your derivation to be named "source" tbh23:56:58
@jade_:matrix.orgjade_ iirc if you put an input-addressed path into the path:... flake fetcher it throws an assert in lix internals. flakes, man. 23:57:27
30 Jul 2025
@jade_:matrix.orgjade_* i think there is an issue about this somewhere because i filed it in cppnix 5 years ago00:16:00
@jade_:matrix.orgjade_* i think there is an issue about this somewhere because i filed it in cppnix nearly 5 years ago00:16:06
@jade_:matrix.orgjade_* i think there is an issue about this somewhere because i filed it in cppnix nearly 5 years ago and we probably imported it00:16:12
@llakala:matrix.orgllakala
In reply to @jade_:matrix.org
was i working on a new one? i don't remember having done so
you mentioned wanting to do it in the "You don't have to use Nix to manage your dotfiles" blogpost
10:53:43
@llakala:matrix.orgllakalaScreenshot_2025-07-30-06-54-19-29_3aea4af51f236e4932235fdada7d1643.jpg
Download Screenshot_2025-07-30-06-54-19-29_3aea4af51f236e4932235fdada7d1643.jpg
10:54:25
@weethet:catgirl.cloudWeetHet auto prefix = useChroot ? chrootRootDir : tmpDir; is incorrect on macOS 15:50:17
@weethet:catgirl.cloudWeetHet

This is correct however:

#if __linux__
                /* If we are using no sandboxing, we still need to use the physical prefix. */
                useChroot ? logicalTargetPath : prefix + logicalTargetPath;
#else
                prefix + logicalTargetPath;
#endif
15:50:51
@weethet:catgirl.cloudWeetHet

I think this patch works for me:

diff --git a/lix/libstore/build/local-derivation-goal.cc b/lix/libstore/build/local-derivation-goal.cc
index e0e14b09f..33f46dc93 100644
--- a/lix/libstore/build/local-derivation-goal.cc
+++ b/lix/libstore/build/local-derivation-goal.cc
@@ -918,7 +918,11 @@ void LocalDerivationGoal::setupConfiguredCertificateAuthority()
 {
     if (settings.caFile != "") {
         if (pathAccessible(settings.caFile)) {
+#if __linux__
             auto prefix = useChroot ? chrootRootDir : tmpDir;
+#else
+            auto prefix = tmpDir;
+#endif
             debug(
                 "rendering visible configured CA '%s' in the builder (prefix directory: '%s')",
                 settings.caFile,
@@ -1249,8 +1253,6 @@ void LocalDerivationGoal::runChild()
                         "non-functional."
                     );
                 }
-
-                setupConfiguredCertificateAuthority();
             }
 
             for (auto & i : ss) pathsInChroot.emplace(i, i);
@@ -1406,11 +1408,8 @@ void LocalDerivationGoal::runChild()
         }
 #endif
 
-        if (!useChroot) {
-            /* When chroot is not used, FODs still requires a CA to be available as well. */
-            if (!derivationType->isSandboxed()) {
-                setupConfiguredCertificateAuthority();
-            }
+        if (!derivationType->isSandboxed()) {
+            setupConfiguredCertificateAuthority();
         }
 
         if (chdir(tmpDirInSandbox.c_str()) == -1)
15:51:36
@weethet:catgirl.cloudWeetHet chrootRootDir is "" on macOS even with sandbox enabled 15:52:19
@raitobezarius:matrix.orgraitobezariuscan you submit this?15:53:40
@weethet:catgirl.cloudWeetHetMy laptop is dead and will be for the next couple hours but after that sure16:05:46
@weethet:catgirl.cloudWeetHet You can also beat me to it and submit it yourself 16:05:57
@weethet:catgirl.cloudWeetHet I don't care about attribution 16:06:20
@emilazy:matrix.orgemily what am I holding wrong that just setup fails with lix/lix-doc/meson.build:1:7: ERROR: Subproject exists but has no Cargo.toml file. 16:52:06
@emilazy:matrix.orgemily(yes I have been doing non-incremental builds all this time)16:52:44
@jade_:matrix.orgjade_oh it's related yes. one of the things i want to know is "how long did this eval spend copying to the store and why/where"17:46:55
@jade_:matrix.orgjade_i have no idea. is this some gitignored nonsense state?17:47:28
@emilazy:matrix.orgemilyI don't believe so. but it is Jujutsu :)17:56:27
@emilazy:matrix.orgemily lix/lix-doc/Cargo.toml does in fact exist. 17:56:37
@emilazy:matrix.orgemily but it's complaining about rnix 17:56:55
@emilazy:matrix.orgemilysorry I should have included more output17:57:00

Show newer messages


Back to Room ListRoom Version: 10