Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 49 lines 1.4 kB view raw
1{ 2 lib, 3 appimageTools, 4 fetchurl, 5 nix-update-script, 6 extraPackages ? [ ], 7}: 8let 9 pname = "archipelago"; 10 version = "0.6.2"; 11 src = fetchurl { 12 url = "https://github.com/ArchipelagoMW/Archipelago/releases/download/${version}/Archipelago_${version}_linux-x86_64.AppImage"; 13 hash = "sha256-DdlfHb8iTCfTGGBUYQeELYh2NF/2GcamtuJzeYb2A5M="; 14 }; 15 16 appimageContents = appimageTools.extractType2 { inherit pname version src; }; 17in 18appimageTools.wrapType2 { 19 inherit pname version src; 20 extraPkgs = 21 pkgs: 22 [ 23 pkgs.xsel 24 pkgs.xclip 25 pkgs.mtdev 26 ] 27 ++ extraPackages; 28 extraInstallCommands = '' 29 install -Dm444 ${appimageContents}/archipelago.desktop -t $out/share/applications 30 substituteInPlace $out/share/applications/archipelago.desktop \ 31 --replace-fail 'opt/Archipelago/ArchipelagoLauncher' "archipelago" 32 cp -r ${appimageContents}/usr/share/icons $out/share 33 ''; 34 35 passthru.updateScript = nix-update-script { }; 36 37 meta = { 38 description = "Multi-Game Randomizer and Server"; 39 homepage = "https://archipelago.gg"; 40 changelog = "https://github.com/ArchipelagoMW/Archipelago/releases/tag/${version}"; 41 license = lib.licenses.mit; 42 mainProgram = "archipelago"; 43 maintainers = with lib.maintainers; [ 44 pyrox0 45 iqubic 46 ]; 47 platforms = lib.platforms.linux; 48 }; 49}