re-do archipelago
This commit is contained in:
parent
e5f14f1212
commit
6d415a11e2
1 changed files with 50 additions and 4 deletions
|
|
@ -117,11 +117,56 @@ in
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
"archipelago" =
|
"archipelago" =
|
||||||
let
|
let
|
||||||
|
ap =
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
appimageTools,
|
||||||
|
fetchurl,
|
||||||
|
nix-update-script,
|
||||||
|
extraPackages ? [ ],
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
pname = "archipelago";
|
||||||
|
version = "0.6.2";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/ArchipelagoMW/Archipelago/releases/download/${version}-rc3/Archipelago_${version}_linux-x86_64.AppImage";
|
||||||
|
hash = "sha256-5uoHIKaBPgZEg5rPx1yv/uqb2iBQs6uYLRPO9Z1N2Wg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
appimageContents = appimageTools.extractType2 { inherit pname version src; };
|
||||||
|
in
|
||||||
|
appimageTools.wrapType2 {
|
||||||
|
inherit pname version src;
|
||||||
|
extraPkgs =
|
||||||
|
pkgs:
|
||||||
|
[
|
||||||
|
pkgs.xsel
|
||||||
|
pkgs.xclip
|
||||||
|
pkgs.mtdev
|
||||||
|
]
|
||||||
|
++ extraPackages;
|
||||||
|
extraInstallCommands = ''
|
||||||
|
install -Dm444 ${appimageContents}/archipelago.desktop -t $out/share/applications
|
||||||
|
substituteInPlace $out/share/applications/archipelago.desktop \
|
||||||
|
--replace-fail 'opt/Archipelago/ArchipelagoLauncher' "archipelago"
|
||||||
|
cp -r ${appimageContents}/usr/share/icons $out/share
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script { };
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Multi-Game Randomizer and Server";
|
||||||
|
homepage = "https://archipelago.gg";
|
||||||
|
changelog = "https://github.com/ArchipelagoMW/Archipelago/releases/tag/${version}";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
mainProgram = "archipelago";
|
||||||
|
maintainers = with lib.maintainers; [ pyrox0 ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
archipelago = pkgs.callPackage ap { };
|
||||||
script = pkgs.writeShellScript "archipelago-server" ''
|
script = pkgs.writeShellScript "archipelago-server" ''
|
||||||
cd /home/noa/Archipelago
|
${archipelago}/bin/archipelago MultiServer -- /home/noa/Archipelago/output/AP_43890937735956963351.zip
|
||||||
${pkgs.python312Full}/bin/python -m venv .
|
|
||||||
source bin/activate
|
|
||||||
python MultiServer.py output/AP_43890937735956963351.zip
|
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
@ -142,6 +187,7 @@ in
|
||||||
after = [
|
after = [
|
||||||
"network-online.target"
|
"network-online.target"
|
||||||
];
|
];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
restartIfChanged = true;
|
restartIfChanged = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue