fix refs
This commit is contained in:
commit
021f20f6b6
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020 Sean Gillespie
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
95
README.md
Normal file
95
README.md
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
# NixOS Godot Binaries
|
||||||
|
|
||||||
|
> Official Godot binary packages for NixOS
|
||||||
|
(including godot-mono for C# support!)
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
### Without Flakes ❄❌
|
||||||
|
|
||||||
|
The simplest way to use these packages are to use the overlay. In your `configuration.nix`:
|
||||||
|
|
||||||
|
let
|
||||||
|
nixosGodot = fetchGit {
|
||||||
|
url = "https://github.com/sgillespie/nixos-godot-bin.git";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
nixpkgs.overlays = nixpkgs.overlays ++ [(import "${nixosGodot}/overlay.nix)"]
|
||||||
|
|
||||||
|
# <-- Snip -->
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
godotBin
|
||||||
|
godotMonoBin
|
||||||
|
godotHeadlessBin
|
||||||
|
]
|
||||||
|
|
||||||
|
### With Flakes ❄✅
|
||||||
|
|
||||||
|
#### Running Godot without installing it
|
||||||
|
|
||||||
|
To run Godot without any further configuration, run this command:
|
||||||
|
|
||||||
|
```
|
||||||
|
nix run github:Quoteme/nixos-godot-bin
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Running different Godot flavors
|
||||||
|
|
||||||
|
There are also these other options available to run Godot:
|
||||||
|
|
||||||
|
```
|
||||||
|
nix run github:Quoteme/nixos-godot-bin\#godot
|
||||||
|
nix run github:Quoteme/nixos-godot-bin\#godotHeadless
|
||||||
|
nix run github:Quoteme/nixos-godot-bin\#godotMono
|
||||||
|
```
|
||||||
|
|
||||||
|
Most importantly, using `\#godotMono` will allow you to write in C#.
|
||||||
|
|
||||||
|
#### Installing Godot using flakes system-wide
|
||||||
|
|
||||||
|
Put this in your `flake.nix`, to install Godot for your user:
|
||||||
|
|
||||||
|
```
|
||||||
|
inputs = {
|
||||||
|
# ...
|
||||||
|
godot.url = "github:Quoteme/nixos-godot-bin";
|
||||||
|
# ...
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, ... }@attrs:
|
||||||
|
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||||
|
modules = [
|
||||||
|
({ config, nixpkgs, ...}@inputs:
|
||||||
|
users.users.YOURUSERNAME.packages = [
|
||||||
|
# ...
|
||||||
|
inputs.godot.packages.x86_64-linux.godot # for godot without Mono / C#
|
||||||
|
inputs.godot.packages.x86_64-linux.godotHeadless # for godot headless
|
||||||
|
inputs.godot.packages.x86_64-linux.godotMono
|
||||||
|
]
|
||||||
|
)
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively you can also install Godot system-wide like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
inputs = {
|
||||||
|
# ...
|
||||||
|
godot.url = "github:Quoteme/nixos-godot-bin";
|
||||||
|
# ...
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, ... }@attrs:
|
||||||
|
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||||
|
modules = [
|
||||||
|
({ config, nixpkgs, ...}@inputs:
|
||||||
|
environment.systemPackages = [
|
||||||
|
# ...
|
||||||
|
inputs.godot.packages.x86_64-linux.godot # for godot without Mono / C#
|
||||||
|
inputs.godot.packages.x86_64-linux.godotHeadless # for godot headless
|
||||||
|
inputs.godot.packages.x86_64-linux.godotMono
|
||||||
|
]
|
||||||
|
)
|
||||||
|
]
|
||||||
|
```
|
||||||
16
default.nix
Normal file
16
default.nix
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
pkgs ? import <nixpkgs> { },
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (pkgs) callPackage;
|
||||||
|
in
|
||||||
|
rec {
|
||||||
|
godot = callPackage ./pkgs/godot { };
|
||||||
|
godotHeadless = callPackage ./pkgs/godot/headless.nix {
|
||||||
|
godotBin = godot;
|
||||||
|
};
|
||||||
|
godotMono = callPackage ./pkgs/godot/mono.nix {
|
||||||
|
godotBin = godot;
|
||||||
|
};
|
||||||
|
}
|
||||||
113
flake.lock
Normal file
113
flake.lock
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"godot-desktop-file": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"narHash": "sha256-vFVYuHYKIcr/ngibwV9G2bsxzG3YWS9Mm4WjKaAUcbM=",
|
||||||
|
"type": "file",
|
||||||
|
"url": "https://raw.githubusercontent.com/godotengine/godot/master/misc/dist/linux/org.godotengine.Godot.desktop"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "file",
|
||||||
|
"url": "https://raw.githubusercontent.com/godotengine/godot/master/misc/dist/linux/org.godotengine.Godot.desktop"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"godot-icon-png": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"narHash": "sha256-Y4Y2RpEiZOBJEEtgJZVHDJ+GUgN2fn9VPP+oZWQZMr0=",
|
||||||
|
"type": "file",
|
||||||
|
"url": "https://raw.githubusercontent.com/godotengine/godot/master/icon.png"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "file",
|
||||||
|
"url": "https://raw.githubusercontent.com/godotengine/godot/master/icon.png"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"godot-icon-svg": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"narHash": "sha256-fIvrlGt9n3o45i3skf4LhIBWMR/d8Xo2rHPftfOoHZA=",
|
||||||
|
"type": "file",
|
||||||
|
"url": "https://raw.githubusercontent.com/godotengine/godot/master/icon.svg"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "file",
|
||||||
|
"url": "https://raw.githubusercontent.com/godotengine/godot/master/icon.svg"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"godot-manpage": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"narHash": "sha256-QBl3N8oOgvzqoTiCCKWUq9PiBqjywhqvCaYM1g40FQw=",
|
||||||
|
"type": "file",
|
||||||
|
"url": "https://raw.githubusercontent.com/godotengine/godot/master/misc/dist/linux/godot.6"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "file",
|
||||||
|
"url": "https://raw.githubusercontent.com/godotengine/godot/master/misc/dist/linux/godot.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1742272065,
|
||||||
|
"narHash": "sha256-ud8vcSzJsZ/CK+r8/v0lyf4yUntVmDq6Z0A41ODfWbE=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "3549532663732bfd89993204d40543e9edaec4f2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"godot-desktop-file": "godot-desktop-file",
|
||||||
|
"godot-icon-png": "godot-icon-png",
|
||||||
|
"godot-icon-svg": "godot-icon-svg",
|
||||||
|
"godot-manpage": "godot-manpage",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
85
flake.nix
Normal file
85
flake.nix
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
description = "Official Godot binary packages for NixOS - An overlay for Godot";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||||
|
flake-utils = {
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Add files needed to create a launcher icon for Godot
|
||||||
|
godot-desktop-file = {
|
||||||
|
url = "https://raw.githubusercontent.com/godotengine/godot/master/misc/dist/linux/org.godotengine.Godot.desktop";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
godot-icon-png = {
|
||||||
|
url = "https://raw.githubusercontent.com/godotengine/godot/master/icon.png";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
godot-icon-svg = {
|
||||||
|
url = "https://raw.githubusercontent.com/godotengine/godot/master/icon.svg";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
godot-manpage = {
|
||||||
|
url = "https://raw.githubusercontent.com/godotengine/godot/master/misc/dist/linux/godot.6";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, flake-utils, ... }@inputs:
|
||||||
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs { inherit system; };
|
||||||
|
in
|
||||||
|
rec {
|
||||||
|
# This section is here, so users can run:
|
||||||
|
# > nix run github:Quoteme/nixos-godot-bin
|
||||||
|
# and start Godot without any further configuration.
|
||||||
|
#
|
||||||
|
# > nix run github:Quoteme/nixos-godot-bin\#godot
|
||||||
|
# > nix run github:Quoteme/nixos-godot-bin\#godotHeadless
|
||||||
|
# > nix run github:Quoteme/nixos-godot-bin\#godotMono
|
||||||
|
# are also available.
|
||||||
|
defaultApp = apps.godot;
|
||||||
|
apps.godot = {
|
||||||
|
type = "app";
|
||||||
|
program = "${packages.godot}/bin/godot";
|
||||||
|
};
|
||||||
|
apps.godotHeadless = {
|
||||||
|
type = "app";
|
||||||
|
program = "${packages.godot}/bin/godot-headless";
|
||||||
|
};
|
||||||
|
apps.godotMono = {
|
||||||
|
type = "app";
|
||||||
|
program = "${packages.godotMono}/bin/godot-mono";
|
||||||
|
};
|
||||||
|
|
||||||
|
# This is for installing Godot using flakes
|
||||||
|
# just add this flake to your flakes inputs, and then you can
|
||||||
|
# use these packages to include Godot in your environment.
|
||||||
|
defaultPackage = packages.godot;
|
||||||
|
packages.godot = pkgs.callPackage ./pkgs/godot {
|
||||||
|
godotDesktopFile = inputs.godot-desktop-file;
|
||||||
|
godotIconPNG = inputs.godot-icon-png;
|
||||||
|
godotIconSVG = inputs.godot-icon-svg;
|
||||||
|
godotManpage = inputs.godot-manpage;
|
||||||
|
};
|
||||||
|
packages.godotHeadless = pkgs.callPackage ./pkgs/godot/headless.nix {
|
||||||
|
godotBin = packages.godot;
|
||||||
|
};
|
||||||
|
packages.godotMono = pkgs.callPackage ./pkgs/godot/mono.nix {
|
||||||
|
godotBin = packages.godot;
|
||||||
|
godotDesktopFile = inputs.godot-desktop-file;
|
||||||
|
godotIconPNG = inputs.godot-icon-png;
|
||||||
|
godotIconSVG = inputs.godot-icon-svg;
|
||||||
|
godotManpage = inputs.godot-manpage;
|
||||||
|
};
|
||||||
|
overlays.default = final: prev: {
|
||||||
|
godot = packages.godot;
|
||||||
|
godotHeadless = packages.godotHeadless;
|
||||||
|
godotMono = packages.godotMono;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
11
overlay.nix
Normal file
11
overlay.nix
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
self: super:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (super) callPackage config lib;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
godotBin = callPackage ./pkgs/godot { };
|
||||||
|
godotMonoBin = callPackage ./pkgs/godot/mono.nix { };
|
||||||
|
godotHeadlessBin = callPackage ./pkgs/godot/headless.nix { };
|
||||||
|
}
|
||||||
|
|
||||||
89
pkgs/godot/default.nix
Normal file
89
pkgs/godot/default.nix
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
autoPatchelfHook,
|
||||||
|
makeWrapper,
|
||||||
|
fetchurl,
|
||||||
|
unzip,
|
||||||
|
udev,
|
||||||
|
alsa-lib,
|
||||||
|
libXcursor,
|
||||||
|
libXinerama,
|
||||||
|
libXrandr,
|
||||||
|
libXrender,
|
||||||
|
libX11,
|
||||||
|
libXi,
|
||||||
|
libpulseaudio,
|
||||||
|
libGL,
|
||||||
|
libxkbcommon,
|
||||||
|
godotDesktopFile,
|
||||||
|
godotIconPNG,
|
||||||
|
godotIconSVG,
|
||||||
|
godotManpage,
|
||||||
|
fontconfig,
|
||||||
|
xorg,
|
||||||
|
}: let
|
||||||
|
qualifier = "stable";
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "godot-bin";
|
||||||
|
version = "3.5.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/godotengine/godot-builds/releases/download/4.4.1-rc1/Godot_v4.4.1-rc1_linux.x86_64.zip";
|
||||||
|
sha256 = "sha256-aIQgp/KBXvV4BBLsLjTXVqSZj0BN5EevEnPFyhaEu3c=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [autoPatchelfHook makeWrapper unzip];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
udev
|
||||||
|
fontconfig
|
||||||
|
libxkbcommon
|
||||||
|
alsa-lib
|
||||||
|
libXcursor
|
||||||
|
libXinerama
|
||||||
|
libXrandr
|
||||||
|
libXrender
|
||||||
|
libX11
|
||||||
|
libXi
|
||||||
|
libpulseaudio
|
||||||
|
libGL
|
||||||
|
xorg.libXext
|
||||||
|
];
|
||||||
|
|
||||||
|
libraries = lib.makeLibraryPath buildInputs;
|
||||||
|
|
||||||
|
unpackCmd = "unzip $curSrc -d source";
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
install -m 0755 Godot_v4.4.1-rc1_linux.x86_64 $out/bin/godot
|
||||||
|
|
||||||
|
# Only create a desktop file, if the necessary variables are set
|
||||||
|
# these are set only, if one installs this program using flakes.
|
||||||
|
if [[ -f "${godotDesktopFile}" ]]; then
|
||||||
|
mkdir -p "$out/man/share/man/man6"
|
||||||
|
cp ${godotManpage} "$out/man/share/man/man6/"
|
||||||
|
|
||||||
|
mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
|
||||||
|
cp ${godotDesktopFile} "$out/share/applications/org.godotengine.Godot.desktop"
|
||||||
|
cp ${godotIconSVG} "$out/share/icons/hicolor/scalable/apps/godot.svg"
|
||||||
|
cp ${godotIconPNG} "$out/share/icons/godot.png"
|
||||||
|
substituteInPlace "$out/share/applications/org.godotengine.Godot.desktop" \
|
||||||
|
--replace "Exec=godot" "Exec=$out/bin/godot"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
wrapProgram $out/bin/godot \
|
||||||
|
--set LD_LIBRARY_PATH ${libraries}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://godotengine.org";
|
||||||
|
description = "Free and Open Source 2D and 3D game engine";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
platforms = ["i686-linux" "x86_64-linux"];
|
||||||
|
maintainers = [lib.maintainers.twey];
|
||||||
|
};
|
||||||
|
}
|
||||||
27
pkgs/godot/headless.nix
Normal file
27
pkgs/godot/headless.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{ fetchurl,
|
||||||
|
godotBin
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
qualifier = "stable";
|
||||||
|
in
|
||||||
|
|
||||||
|
godotBin.overrideAttrs (oldAttrs: rec {
|
||||||
|
pname = "godot-headless-bin";
|
||||||
|
version = "3.5.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://downloads.tuxfamily.org/godotengine/${version}/Godot_v${version}-${qualifier}_linux_headless.64.zip";
|
||||||
|
sha256 = "NgrJetf/EPYW64pix/+8PRrna0QlvnsA2tbdqjpEFHY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
install -m 0755 Godot_v${version}-${qualifier}_linux_headless.64 $out/bin/godot-headless
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
wrapProgram $out/bin/godot-headless \
|
||||||
|
--set LD_LIBRARY_PATH ${oldAttrs.libraries}
|
||||||
|
'';
|
||||||
|
})
|
||||||
56
pkgs/godot/mono.nix
Normal file
56
pkgs/godot/mono.nix
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
{ fetchurl,
|
||||||
|
godotBin,
|
||||||
|
msbuild,
|
||||||
|
dotnetPackages,
|
||||||
|
mono5,
|
||||||
|
zlib,
|
||||||
|
godotDesktopFile,
|
||||||
|
godotIconPNG,
|
||||||
|
godotIconSVG,
|
||||||
|
godotManpage
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
qualifier = "stable";
|
||||||
|
in
|
||||||
|
|
||||||
|
godotBin.overrideAttrs (oldAttrs: rec {
|
||||||
|
pname = "godot-mono-bin";
|
||||||
|
version = "3.5.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://downloads.tuxfamily.org/godotengine/${version}/mono/Godot_v${version}-${qualifier}_mono_x11_64.zip";
|
||||||
|
sha256 = "7phG4vgq4m0h92gCMPv5kehQQ1BH7rS1c5VZ6Dx3WPc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = oldAttrs.buildInputs ++ [zlib];
|
||||||
|
|
||||||
|
unpackCmd = "";
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin $out/opt/godot-mono
|
||||||
|
|
||||||
|
install -m 0755 Godot_v${version}-${qualifier}_mono_x11.64 $out/opt/godot-mono/Godot_v${version}-${qualifier}_mono_x11.64
|
||||||
|
cp -r GodotSharp $out/opt/godot-mono
|
||||||
|
|
||||||
|
ln -s $out/opt/godot-mono/Godot_v${version}-${qualifier}_mono_x11.64 $out/bin/godot-mono
|
||||||
|
|
||||||
|
# Only create a desktop file, if the necessary variables are set
|
||||||
|
# these are set only, if one installs this program using flakes.
|
||||||
|
if [[ -f "${godotDesktopFile}" ]]; then
|
||||||
|
mkdir -p "$out/man/share/man/man6"
|
||||||
|
cp ${godotManpage} "$out/man/share/man/man6/"
|
||||||
|
|
||||||
|
mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
|
||||||
|
cp ${godotDesktopFile} "$out/share/applications/org.godotengine.Godot-Mono.desktop"
|
||||||
|
cp ${godotIconSVG} "$out/share/icons/hicolor/scalable/apps/godot.svg"
|
||||||
|
cp ${godotIconPNG} "$out/share/icons/godot.png"
|
||||||
|
substituteInPlace "$out/share/applications/org.godotengine.Godot-Mono.desktop" \
|
||||||
|
--replace "Exec=godot" "Exec=$out/bin/godot-mono"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
wrapProgram $out/bin/godot-mono \
|
||||||
|
--set LD_LIBRARY_PATH ${oldAttrs.libraries}
|
||||||
|
'';
|
||||||
|
})
|
||||||
17
shell.nix
Normal file
17
shell.nix
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
pkgPath ? <nixpkgs>,
|
||||||
|
overlays ? (import <nixpkgs/nixos> { }).config.nixpkgs.overlays
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
overlay = import ./overlay.nix;
|
||||||
|
pkgs = import pkgPath { overlays = [overlay] ++ overlays; };
|
||||||
|
inherit (pkgs) mkShell;
|
||||||
|
in
|
||||||
|
mkShell {
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
godotBin
|
||||||
|
godotHeadlessBin
|
||||||
|
godotMonoBin
|
||||||
|
];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user