| 19 Nov 2025 |
Sofie 🏳️⚧️ (she/her) | * how,, can I override an package so I could add my own option to it
{ arf = "meow" } without having to copy the whole package defination from nixpkgs and change it?
| 18:00:50 |
Sofie 🏳️⚧️ (she/her) | * how,, can I override an package so I could add my own option to it
{ arf ? "meow" } without having to copy the whole package defination from nixpkgs and change it?
| 18:01:17 |
Sofie 🏳️⚧️ (she/her) | then I could use it in the override and could call it with like
package.override { arf = "arf arf :3"; someOtherVarThePackageAlreadyHad = "..";}
| 18:02:01 |
K900 | You can't really do that easily | 18:04:46 |
Sofie 🏳️⚧️ (she/her) | what about,,, non easily | 18:04:58 |
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 |