pkgs/factorio-launcher: Add wrapper to launch factorio
This commit is contained in:
parent
36c6ada07c
commit
75af9b7383
@ -126,6 +126,7 @@
|
|||||||
clerie-sops-config
|
clerie-sops-config
|
||||||
clerie-sops-edit
|
clerie-sops-edit
|
||||||
chromium-incognito
|
chromium-incognito
|
||||||
|
factorio-launcher
|
||||||
git-checkout-github-pr
|
git-checkout-github-pr
|
||||||
git-diff-word
|
git-diff-word
|
||||||
git-pp
|
git-pp
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
chromium-incognito
|
chromium-incognito
|
||||||
|
|
||||||
print-afra
|
print-afra
|
||||||
|
|
||||||
|
factorio-launcher
|
||||||
];
|
];
|
||||||
|
|
||||||
# Wireshark
|
# Wireshark
|
||||||
|
@ -9,6 +9,8 @@
|
|||||||
#cura # libarcus library is currently broken, required for curaengine
|
#cura # libarcus library is currently broken, required for curaengine
|
||||||
|
|
||||||
mumble
|
mumble
|
||||||
|
|
||||||
|
factorio-launcher
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
25
pkgs/factorio-launcher/default.nix
Normal file
25
pkgs/factorio-launcher/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
|
pkgs.buildFHSEnv {
|
||||||
|
name = "factorio-launcher";
|
||||||
|
targetPkgs = pkgs: (with pkgs; [
|
||||||
|
alsa-lib
|
||||||
|
libGL
|
||||||
|
libpulseaudio
|
||||||
|
libxkbcommon
|
||||||
|
wayland
|
||||||
|
]) ++ (with pkgs.xorg; [
|
||||||
|
libICE
|
||||||
|
libSM
|
||||||
|
libX11
|
||||||
|
libXcursor
|
||||||
|
libXext
|
||||||
|
libXi
|
||||||
|
libXinerama
|
||||||
|
libXrandr
|
||||||
|
]);
|
||||||
|
runScript = lib.getExe (pkgs.writeShellApplication {
|
||||||
|
name = "launch-factorio";
|
||||||
|
text = builtins.readFile ./launch-factorio.sh;
|
||||||
|
});
|
||||||
|
}
|
28
pkgs/factorio-launcher/launch-factorio.sh
Normal file
28
pkgs/factorio-launcher/launch-factorio.sh
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
if [[ $# -eq 0 ]]; then
|
||||||
|
echo "Pass path to factorio install directory as first argument"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
FACTORIO_BINARY_PATH=""
|
||||||
|
|
||||||
|
for suffix in "" "/factorio" "/x64/factorio" "/bin/x64/factorio" "/factorio/bin/x64/factorio"; do
|
||||||
|
if [[ -f "$1${suffix}" && -x "$1${suffix}" ]]; then
|
||||||
|
FACTORIO_BINARY_PATH="$1${suffix}"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ -z $FACTORIO_BINARY_PATH ]]; then
|
||||||
|
echo "No factorio executable found below $1"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
|
|
||||||
|
set -- "${FACTORIO_BINARY_PATH}" "$@"
|
||||||
|
|
||||||
|
exec "$@"
|
@ -7,6 +7,7 @@ final: prev: {
|
|||||||
clerie-sops-edit = final.callPackage ./clerie-sops/clerie-sops-edit.nix {};
|
clerie-sops-edit = final.callPackage ./clerie-sops/clerie-sops-edit.nix {};
|
||||||
clerie-update-nixfiles = final.callPackage ./clerie-update-nixfiles/clerie-update-nixfiles.nix {};
|
clerie-update-nixfiles = final.callPackage ./clerie-update-nixfiles/clerie-update-nixfiles.nix {};
|
||||||
chromium-incognito = final.callPackage ./chromium-incognito {};
|
chromium-incognito = final.callPackage ./chromium-incognito {};
|
||||||
|
factorio-launcher = final.callPackage ./factorio-launcher {};
|
||||||
git-checkout-github-pr = final.callPackage ./git-checkout-github-pr {};
|
git-checkout-github-pr = final.callPackage ./git-checkout-github-pr {};
|
||||||
git-diff-word = final.callPackage ./git-diff-word {};
|
git-diff-word = final.callPackage ./git-diff-word {};
|
||||||
git-pp = final.callPackage ./git-pp {};
|
git-pp = final.callPackage ./git-pp {};
|
||||||
|
Loading…
Reference in New Issue
Block a user