are Nix flakes plausible for godot main repo? #9334
Replies: 2 comments 5 replies
-
I don't know, it's your proposal. Are they? |
Beta Was this translation helpful? Give feedback.
-
Why? Godot is already on nixpkgs, you can make a different flake to do this every day of the week if you wanted. A dev shell could be nice I guess for godot contributors who use nix? But you wouldnt need a bunch of flakes, just a single flake.nix file with the package, a debug build of the package, and a dev shell with the build tools in it. But it is packaged on nixpkgs, so you can already just do this if you want, just override the source to newest and make a dev shell with the build tools in it. Could occasionally be a little involved though if you have to make build changes without its own flake, but usually even that is just doable with an override Neovim has a contrib folder, and in it is a flake.nix with those things in it, maybe godot could do that, it could make some things nicer, but more isnt needed. https://github.com/neovim/neovim/blob/master/contrib/flake.nix <--- here it is. Maybe something like this could be done. It would make it easier to contribute to and use the most up to date version of godot. It also may improve CI. But more would be overkill. But yes. It could 100% be done. It can be done for almost any existing open source software. The main issue is precompiled stuff with not available source. And uhhh, also the precompiled proprietary stuff that java sometimes shoves into fat jars (which can also be solved but its harder). Godot does not have this issue, nix is fair game. |
Beta Was this translation helpful? Give feedback.
-
What is a flake?
If you don't know what flakes are , a flake is technically a directory which cointains a flake.nix. Flakes are written in the nix lang and they can be used for building and running packages, having development isolated environments, all of this and more while ensuring reproducibility and granular control. (more info )
I consider flakes a great adittion to any project, and here are a number of things you could do with flakes on the godot repo:
All of this while being reproducible and declarative.
If you come up with more, i encourage to comment on them in this discussion
Now for the questions i have for you all :
How hard would it be to implement, do you guys think its plausible / worth it? Why?
Would you help in case it were done?
Beta Was this translation helpful? Give feedback.
All reactions