diff --git a/packages/archipelago/default.nix b/packages/archipelago/default.nix new file mode 100644 index 0000000..ed8d2c9 --- /dev/null +++ b/packages/archipelago/default.nix @@ -0,0 +1,49 @@ +{ + pkgs, + ... +}: +let + inherit (pkgs) + lib + appimageTools + fetchurl + nix-update-script + ; + pname = "archipelago"; + version = "0.0.6"; + src = fetchurl { + url = "https://github.com/itepastra/Archipelago/releases/download/${version}/Archipelago_0.6.4_linux-x86_64.AppImage"; + hash = "sha256-/XZKLwxtMctrz1+IexYwR4y+cXy8u8pTTrLxrgNO2EQ="; + }; + + appimageContents = appimageTools.extractType2 { inherit pname version src; }; +in +appimageTools.wrapType2 { + inherit pname version src; + extraPkgs = pkgs: [ + pkgs.xsel + pkgs.xclip + pkgs.mtdev + ]; + 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 + iqubic + ]; + platforms = lib.platforms.linux; + }; +} diff --git a/packages/default.nix b/packages/default.nix index cca4253..cd08d87 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -22,6 +22,7 @@ forAllSystems ( call = path: import path { inherit pkgs system; }; in { + archipelago = call ./archipelago; autopelago = call ./autopelago; fuzzel-launch = call ./fuzzel-launch.nix; fuzzel-power = call ./fuzzel-power.nix;