79 lines
1.8 KiB
Nix
79 lines
1.8 KiB
Nix
{
|
|
description = "Godot test project";
|
|
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
outputs =
|
|
{ self, nixpkgs }:
|
|
let
|
|
allSystems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
"x86_64-darwin"
|
|
"aarch64-darwin"
|
|
];
|
|
forAllSystems =
|
|
f:
|
|
nixpkgs.lib.genAttrs allSystems (
|
|
system:
|
|
f {
|
|
pkgs = import nixpkgs { inherit system; };
|
|
}
|
|
);
|
|
in
|
|
{
|
|
devShells = forAllSystems (
|
|
{ pkgs }:
|
|
{
|
|
default = pkgs.mkShell {
|
|
packages = with pkgs; [
|
|
godot
|
|
blender
|
|
krita
|
|
gimp
|
|
];
|
|
};
|
|
}
|
|
);
|
|
|
|
packages = forAllSystems (
|
|
{ pkgs }:
|
|
{
|
|
fmm = pkgs.stdenv.mkDerivation {
|
|
pname = "fmm";
|
|
version = "0.1.0";
|
|
src = ./.;
|
|
|
|
strictDeps = true;
|
|
|
|
nativeBuildInputs = with pkgs; [
|
|
godot
|
|
];
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
|
|
export HOME=$(mktemp -d)
|
|
mkdir -p $HOME/.local/share/godot/
|
|
ln -s ${pkgs.godot.export-template}/share/godot/export_templates "$HOME/.local/share/godot/"
|
|
mkdir -p game/build
|
|
cd game
|
|
|
|
echo "godot --headless --export-debug Linux ./build/fmm"
|
|
godot --headless --export-release Linux ./build/fmm
|
|
|
|
runHook postBuild
|
|
'';
|
|
installPhase = ''
|
|
find .
|
|
install -D -m 755 -t $out/libexec ./build/fmm
|
|
install -D -m 644 -t $out/libexec ./build/fmm.pck
|
|
install -d -m 755 $out/bin
|
|
ln -s $out/libexec/fmm $out/bin/fmm
|
|
'';
|
|
};
|
|
}
|
|
);
|
|
};
|
|
}
|