| 18 Jun 2025 |
tomberek | Would the stdenv folks be interested in a relocatable store, a relocatable Nix? The SC is exploring this as a possible roadmap effort and a big part of it would be building some momentum with the core+stdenv that requires more specialized experience. Don't have all the details figured out, but trying to gauge the interest. | 17:57:09 |
Alyssa Ross | There are situations where it would be useful for sure but I'd expect it to be an immense effort | 17:58:02 |
WeetHet | In reply to @tomberek:matrix.org Would the stdenv folks be interested in a relocatable store, a relocatable Nix? The SC is exploring this as a possible roadmap effort and a big part of it would be building some momentum with the core+stdenv that requires more specialized experience. Don't have all the details figured out, but trying to gauge the interest. Not an stdenv folk but if I understand correctly, this would allow moving the darwin store out of a separate partition which would certainly be nice | 18:02:22 |
emily | I've explored the idea (not in code, just in my head) and I would like it but I agree with Alyssa that it would be super tough in a lot of ways – it's not just linker stuff but a bunch of ecosystems fractally expecting absolute paths to work, so I think it would involve substantial patching of many many packages | 18:03:14 |
emily | (hopefully some of that could go upstream, but I know some projects are happy assuming absolute paths) | 18:03:31 |
tomberek | It being a large effort is why we're trying to see if there is interest, what kind of funding would be needed, to do a feasibility analysis, etc. | 18:03:35 |
emily | linker stuff is an issue too though: e.g., the path to the dynamic loader for Linux shared executables is absolute, and that's a kernel-level limitation. you can use $ORIGIN in library paths but not for the loader itself. I think you can work around it by linking binaries as effectively "static PIEs" with their own startup code that finds their dynamic loader and execs it | 18:04:37 |
emily | but definitely pretty deep toolchain surgery to make that work, I've wanted to prototype it but no time | 18:04:53 |
emily | (not sure if an explicit exec would always work without weirdness or if it'd have to be "load the dynamic loader into memory in userspace" which would be painful) | 18:05:46 |
Alyssa Ross | My instinct here is that the cure is worse than the disease | 18:32:21 |
Randy Eckenrode | In reply to @weethet:catgirl.cloud Not an stdenv folk but if I understand correctly, this would allow moving the darwin store out of a separate partition which would certainly be nice Having it on a separate partition also comes with benefits (like being able to have a case-sensitive store). | 19:56:10 |