| 19 Nov 2025 |
Sofie 🏳️⚧️ (she/her) | 😇 | 18:05:07 |
K900 | Define your own function | 18:07:08 |
K900 | That wraps the original package | 18:07:11 |
K900 | And then pass it to mkOverridable again | 18:07:18 |
Emma [it/its] | hoping itll be invisible to the end user because otherwise ill need to diverge my nixos-rebuild wrapper scripts even more between nix and lix | 18:07:47 |
K900 | My personal hope is that whatever ends up happening makes flakes irrelevant | 18:08:12 |
K900 | By allowing better designs to exist in the same space | 18:08:21 |
Emma [it/its] | i dont really see the issues with them tbh, and i enjoy flakes as they are a lot | 18:09:04 |
K900 | Cross-compilation is ~fundamentally broken | 18:09:20 |
K900 | The layout is extremely verbose | 18:09:33 |
K900 | The dependency resolution is non-existent | 18:09:43 |
Emma [it/its] | i like the layout though
also wdym "dependency resolution" here? | 18:10:26 |
K900 | I mean that you have to spam .follows everywhere | 18:11:00 |
K900 | To make flakes reasonably compose | 18:11:06 |
K900 | And I bet you're using flake-utils or flake-parts or whatever for the layout | 18:11:39 |
K900 | That abstracts the nonsense away | 18:11:45 |
Emma [it/its] | this seems like a benefit to me (at least for flakes that give you packages) | 18:12:23 |
whispers (it/fae) | versioning is just nonexistent too | 18:12:33 |
K900 | What is, having to spam .follows everywhere? | 18:12:44 |
Emma [it/its] | // flake-utils.lib.eachSystem flake-utils.lib.allSystems ( is the only part where i use flake-utils, and that's only for packages outputs | 18:12:49 |
K900 | So you are in fact using an entire abstraction to express things that are bad | 18:13:06 |
Emma [it/its] | im merging it into the rest of the structure lol | 18:13:23 |
K900 | Same thing | 18:13:30 |
Emma [it/its] | i suppose yeah - i meant more the other side of the issue: being able to import a flake and reasonably beign able to expect it to build as it uses it's own definition of nixpkgs etc | 18:13:50 |
K900 | It would be significantly easier if you could just have { buildPlatform, hostPlatform } as arguments to your outputs function | 18:14:01 |
K900 | Or something like that | 18:14:20 |
K900 | You should have that option | 18:14:36 |
K900 | But I don't think it should be the default | 18:14:41 |
K900 | I actually really appreciate the choice Cargo makes here | 18:14:51 |
K900 | The final artifact is always locked | 18:14:57 |