Jump to content

Godot: Difference between revisions

From NixOS Wiki
Export Templates
Klinger (talk | contribs)
m Category:IDE added
 
(3 intermediate revisions by one other user not shown)
Line 3: Line 3:
[https://godotengine.org/ Godot] is an open-source game engine, capable of creating both 2D and 3D games.  
[https://godotengine.org/ Godot] is an open-source game engine, capable of creating both 2D and 3D games.  


== Usage in NixOS ==
== Installation ==


Use <code>steam-run</code> to run a Godot exported project (without having to fix paths for Nix).
Add <code>pkgs.godot</code> (GDScript only) to <code>environment.systemPackages</code>.


== Installation ==
For installing Godot-Mono (C#), see [[Godot-Mono]] article.
 
Add either <code>pkgs.godot</code> (GDScript) or <code>pkgs.godot-mono</code> (GDScript + C#) to <code>environment.systemPackages</code>.


== Export Templates ==
== Export Templates ==
Automatically enable `godot-templates` in your host using:
On Godot upgrade, the new export template can be automatically provisioned this way:
 
<code>home.file.".local/share/godot/export_templates/${pkgs.godot_4-export-templates.version}".source = pkgs.godot_4-export-templates;</code>
 
Whenever Godot application is upgraded, the new template version will be automatically provisioned.


For `godot-mono`, should reference `pkgs.godot-mono_4-export-templates` but package is still pending in nixpkgs.
<code>home.file.".local/share/godot/export_templates/${builtins.replaceStrings [ "-" ] [ "." ] pkgs.godot_4-export-templates.version}".source = pkgs.godot_4-export-templates;</code>


== Configuring VSCode Editor for Godot-Mono (C#) ==
=== Android Export Target ===
As Godot editor has poor support for C#, VSCode editor is recommended.
Accept Android license:
nixpkgs.config.android_sdk.accept_license = true;
Add to your system the usual Android and Java development packages, such as:
environment.systemPackages = with pkgs; [
   android-studio
   android-tools
   androidenv.androidPkgs.androidsdk
   androidenv.androidPkgs.emulator
   androidenv.androidPkgs.ndk-bundle
  jdk # Java
];
Configure Godot's '''Editor''' -> '''Editor Settings''' -> '''General''' [Tab] -> '''Export''' [Category]  -> '''Android''' [Sub-item], as such:


Install and configure VSCode as such:
* '''Android SDK Path:''' Reference <code>pkgs.androidenv.androidPkgs.androidsdk</code> path. Like: <code>/nix/store/p2cdj75bbzswjc84789cmlwhy6ll7avr-androidsdk/libexec/android-sdk/</code>
programs.vscode = {
* '''Java SDK Path:''' Reference <code>pkgs.jdk</code> path. Like: <code>/nix/store/55qm2mvhmv7n2n6yzym1idrvnlwia73z-openjdk-21.0.5+11</code>
  enable = true;
  package = pkgs.codium;
  profiles.default = {
    "godotTools.lsp.serverPort" = 6005; # port should match your Godot configuration
    "dotnetAcquisitionExtension.sharedExistingDotnetPath" = "${pkgs.dotnet-sdk_8}/bin/dotnet";
    "dotnetAcquisitionExtension.existingDotnetPath" = [
        {
           "extensionId" = "ms-dotnettools.csharp";
           "path" = "${pkgs.dotnet-sdk_8}/bin/dotnet";
        }
        {
           "extensionId" = "ms-dotnettools.csdevkit";
           "path" = "${pkgs.dotnet-sdk_8}/bin/dotnet";
        }
     ];
  extensions = with pkgs.vscode-extensions; [
    geequlim.godot-tools # For Godot GDScript
    ms-dotnettools.csdevkit
    ms-dotnettools.csharp
    ms-dotnettools.vscode-dotnet-runtime
  ];
};
Configure Godot's '''Editor → Editor Settings''' menu:
* Set '''Dotnet''' -> '''Editor''' -> '''External Editor''' to '''Visual Studio Code'''.
====== Configure Godot 4 for External VSCode Integration ======
Click '''Editor''' [top menu] -> '''Editor Settings''' [menu item] -> '''General''' [Tab] -> '''Text Editor''' [Category] -> '''External''' [Sub-Category]:


* '''Exec Path''' -> Add the output of <code>which codium</code>, on my case would be: <code>/etc/profiles/per-user/REPLACE-USERNAME/bin/codium</code>
=== Running Exported Application in NixOS ===
* '''Exec Flags''' -> <code>{project} --goto {file}:{line}:{col}</code>
Use <code>steam-run</code> to run a Godot exported project without having to fix paths for Nix.
* '''Use External Editor''' -> <code>On</code>


[[Category:Applications]]
[[Category:Applications]]
[[Category:IDE]]

Latest revision as of 13:42, 1 May 2025

☶︎
This article or section needs to be expanded. Further information may be found in the related discussion page. Please consult the pedia article metapage for guidelines on contributing.

Godot is an open-source game engine, capable of creating both 2D and 3D games.

Installation

Add pkgs.godot (GDScript only) to environment.systemPackages.

For installing Godot-Mono (C#), see Godot-Mono article.

Export Templates

On Godot upgrade, the new export template can be automatically provisioned this way:

home.file.".local/share/godot/export_templates/${builtins.replaceStrings [ "-" ] [ "." ] pkgs.godot_4-export-templates.version}".source = pkgs.godot_4-export-templates;

Android Export Target

Accept Android license:

nixpkgs.config.android_sdk.accept_license = true;

Add to your system the usual Android and Java development packages, such as:

environment.systemPackages = with pkgs; [
  android-studio
  android-tools
  androidenv.androidPkgs.androidsdk
  androidenv.androidPkgs.emulator
  androidenv.androidPkgs.ndk-bundle
  jdk # Java
];

Configure Godot's Editor -> Editor Settings -> General [Tab] -> Export [Category] -> Android [Sub-item], as such:

  • Android SDK Path: Reference pkgs.androidenv.androidPkgs.androidsdk path. Like: /nix/store/p2cdj75bbzswjc84789cmlwhy6ll7avr-androidsdk/libexec/android-sdk/
  • Java SDK Path: Reference pkgs.jdk path. Like: /nix/store/55qm2mvhmv7n2n6yzym1idrvnlwia73z-openjdk-21.0.5+11

Running Exported Application in NixOS

Use steam-run to run a Godot exported project without having to fix paths for Nix.