| 14 May 2024 |
puck | * okay, nothing specal then; should be able to figure it out with that | 14:15:17 |
samrose | In reply to @k900:0upti.me You can probably copy something from the original RFC I'll try it sometime soon and let you know if that helps | 14:18:38 |
Qyriad | I'm pretty sure Lunaphied tried this and determined that the implementation in Nix (and thus Lix) is not far enough for all but the most trivial cases, and even those require combining it with recursive Nix iwrc | 14:19:55 |
Lunaphied | Yes; well more specifically as part of rolling back a bug it introduced, dynamic derivations don't really currently do anything because you can't build their referenced outputs lol. you can use recursive Nix to invoke the output and build it from another drv though but it's a workaround and there's no need for that approach if you already have recursive Nix | 14:22:13 |
Lunaphied | The original RFC doesn't have any working examples and the only known examples that do exist don't work for multiple reasons. I've made some demos in the past but they just demonstrate it not working. Your best bet is the tests for them pre reverting that commit | 14:23:53 |
| myacite changed their profile picture. | 14:24:36 |
Lunaphied | Beyond that some serious discussion needs to be had with the original implementer because despite the RFC, no defined partial model for this implementation of dynamic derivations was ever communicated | 14:25:21 |
Lunaphied | * Beyond that some serious discussion needs to be had with the original implementer because despite the RFC, no defined practical use for this implementation of dynamic derivations was ever communicated | 14:25:43 |
samrose | there was something that people were trying to accomplish inside of the company where that rfc originated from, related to just being able trying to automate around nix and make it "easier" to use by just dropping nix expression into the path, and maybe they thought that this might be interesting to other people, but was not a complete solution for dyndrv in nix (disclaimer again: I worked at that company during that time) | 14:26:01 |
Lunaphied | Ah | 14:26:15 |
Lunaphied | I wondered why it seemed so half baked given that RFC literally doesn't discuss how it'd be practically useful at all | 14:26:38 |
samrose | soemthing like that anyway :) | 14:26:41 |
Lunaphied | If you imagine it working with recursive Nix you could just... use that, as it would do everything you needed basically. | 14:27:03 |
Qyriad | In reply to @lunaphied:lunaphied.me I wondered why it seemed so half baked given that RFC literally doesn't discuss how it'd be practically useful at all the talk at nixcon does | 14:27:07 |
Lunaphied | Nope | 14:27:11 |
Qyriad | it… doesn't? | 14:27:23 |
Lunaphied | It discusses it informally but not relating to the actual implementation | 14:27:35 |
Qyriad | ah | 14:27:42 |
Lunaphied | It's also a very short talk | 14:27:44 |
Lunaphied | Just an overview of the idea generically | 14:27:52 |
samrose | probably if someone is working on this in Lix, you could consider the ideas in that RFC, but you might end up coming up with something that does what you need, and may or may not use the approach in that rfc since it maybe only addresses part of the problem | 14:28:53 |
samrose | IMHO | 14:28:57 |
Lunaphied | I think it addresses enough to have some value; it's just not clear that other existing limitations (such as how quickly things can be added to the store) don't compromise its use. also the bug that required disabling basically the entire implementation still needs fixing | 14:30:01 |
samrose | I defer to you, because despite what I said above, you likely know much more than I on the topic | 14:30:45 |
samrose | but I will be interested to see what evolves in lix in any case around this stuff | 14:31:25 |
Lunaphied | We look forward to figuring out a more useful implementation that actually has like. Examples. lol | 14:32:11 |
raitobezarius | I actually have pseudo usecases of dyndrvs | 15:37:32 |
raitobezarius | But I don't know if they work with current implementation | 15:37:42 |
raitobezarius | My biggest interest is computing the rebuild closure for a package | 15:37:56 |
raitobezarius | So that you don't include aimlessly all the build dependencies you find and 2x your system closure | 15:38:14 |