depot/ops/factorio/multiworld/default.nix

41 lines
986 B
Nix
Raw Permalink Normal View History

2022-02-05 17:17:39 +00:00
# SPDX-FileCopyrightText: 2022 Luke Granger-Brown <depot@lukegb.com>
#
# SPDX-License-Identifier: Apache-2.0
{ pkgs, ... }:
let
python3Env = pkgs.python3.withPackages (pm: with pm; [
absl-py
]);
src = pkgs.runCommand "factorio-multiworld-infect-src" {
nativeBuildInputs = [
(pkgs.python3.withPackages (pm: with pm; [
black
]))
pkgs.luaformatter
];
src = ./.;
} ''
mkdir $out
cp $src/infect.py $out/infect.py
black --check $out/infect.py
cp $src/multiworld.lua $out/multiworld.lua
cp $src/.lua-format ./.
lua-format --check $out/multiworld.lua
'';
in pkgs.runCommand "factorio-multiworld-infect" {
python3 = "${python3Env}/bin/python";
infectPy = "${src}/infect.py";
multiworldlua = "${src}/multiworld.lua";
} ''
mkdir -p $out/bin
substitute $infectPy $out/bin/factorio-multiworld-infect \
--subst-var python3 \
--subst-var multiworldlua
chmod +x $out/bin/factorio-multiworld-infect
''