Skip to content

Add shell.nix for quick setup on nix-based systems#120447

Open
FlyInMyEye wants to merge 1 commit into
godotengine:masterfrom
FlyInMyEye:master
Open

Add shell.nix for quick setup on nix-based systems#120447
FlyInMyEye wants to merge 1 commit into
godotengine:masterfrom
FlyInMyEye:master

Conversation

@FlyInMyEye

Copy link
Copy Markdown

What problem(s) does this PR solve?

  • Allows "plug-and-play" building and running on immutable systems like NixOS using nix-shell. User can just run nix-shell in cloned repo and all dependencies and env variables will be set

@FlyInMyEye
FlyInMyEye requested a review from a team as a code owner June 19, 2026 11:09
@AThousandShips

Copy link
Copy Markdown
Member

Thanks for opening a pull request!

Feature pull requests should be associated to a feature proposal to justify the need for implementing the feature in Godot core. Please open a proposal on the Godot proposals repository (and link to the proposal in this pull request's body).

@AThousandShips

Copy link
Copy Markdown
Member

We also don't provide any such build scripts for any other platform, it also puts quite a bit of responsibility on us to ensure these are valid and that malicious entries don't make it in etc., minor but something to consider IMO

@akien-mga

Copy link
Copy Markdown
Member

In general we're pretty territorial about which files can live at the root of the Godot repository. The more files are there that aren't relevant to most users, the harder it is to find the files which are relevant.

That's also why you don't see a pre-configured .vscode/ folder, .vsproj and .sln files for various versions of Visual Studio, etc.

Compiling for NixOS specifically falls in the same category and should instead be documented on https://docs.godotengine.org/en/stable/engine_details/development/compiling/compiling_for_linuxbsd.html#distro-specific-one-liners

I'm not too familiar with NixOS but given how complex the requirements are for compiling and running software there (especially when it comes to include paths and dynamic loading of libraries), I would expect there to be something like a "nix-ports" or AUR equivalent with this kind of scripts that NixOS users can access easily to compile a given popular project. This would IMO be the better place to put these instructions, if it exists.

@FlyInMyEye

Copy link
Copy Markdown
Author

We also don't provide any such build scripts for any other platform...

This is not a build script, more like a dependency list, users of immutable systems (Like me) usually avoid installing packages system wise. The best comparsion is virtual env in python

@AThousandShips

Copy link
Copy Markdown
Member

That's exactly what I meant, I know what it does, it still isn't present for any other OS to easily download dependencies

@FlyInMyEye

Copy link
Copy Markdown
Author

In general we're pretty territorial about which files can live at the root of the Godot repository. The more files are there that aren't relevant to most users, the harder it is to find the files which are relevant.

That's also why you don't see a pre-configured .vscode/ folder, .vsproj and .sln files for various versions of Visual Studio, etc.

Compiling for NixOS specifically falls in the same category and should instead be documented on https://docs.godotengine.org/en/stable/engine_details/development/compiling/compiling_for_linuxbsd.html#distro-specific-one-liners

I'm not too familiar with NixOS but given how complex the requirements are for compiling and running software there (especially when it comes to include paths and dynamic loading of libraries), I would expect there to be something like a "nix-ports" or AUR equivalent with this kind of scripts that NixOS users can access easily to compile a given popular project. This would IMO be the better place to put these instructions, if it exists.

Oh, ok, thanks for the reply, so should I close it? NixOS does not have one-liner like most of other distros because of lack of /usr/lib/ where all libs are stored

@AThousandShips

Copy link
Copy Markdown
Member

I'd suggest discussing this in a proposal to gauge the needs and demands in general (beyond needing to move it to a more appropriate folder)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants