diff --git a/.gitea/workflows/publish-attic.yaml b/.gitea/workflows/publish-attic.yaml index 5a7ee6a..7b4085e 100644 --- a/.gitea/workflows/publish-attic.yaml +++ b/.gitea/workflows/publish-attic.yaml @@ -74,6 +74,7 @@ jobs: ".#packages.${system}.swaytreesave" \ ".#packages.${system}.archon" \ ".#packages.${system}.ani-cli-rs" \ + ".#packages.${system}.opengoal" \ | tee built-paths.txt - name: Push packages to Attic diff --git a/pkgs/default.nix b/pkgs/default.nix index 49ab505..2ac4124 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,7 +1,7 @@ -{ +{ pkgs, hildibrand ? null, - caitsith ? null + caitsith ? null, }: { # any overlays we define here @@ -20,4 +20,5 @@ archon = pkgs.callPackage ./linux/archon.nix { }; yubilock = pkgs.callPackage ./linux/yubilock/default.nix { }; ani-cli-rs = pkgs.callPackage ./linux/ani-cli-rs.nix { }; + opengoal = pkgs.callPackage ./linux/opengoal.nix { }; } diff --git a/pkgs/linux/opengoal.nix b/pkgs/linux/opengoal.nix new file mode 100644 index 0000000..622847e --- /dev/null +++ b/pkgs/linux/opengoal.nix @@ -0,0 +1,49 @@ +{ pkgs }: +let + pname = "OpenGOAL-Launcher"; + version = "2.10.4"; + + src = pkgs.fetchurl { + url = "https://github.com/open-goal/launcher/releases/download/v${version}/${pname}_${version}_amd64.AppImage"; + hash = "sha256-eikzjdOYNdJM9FM3O/HuCFDzf97Fm1nhbRedDyKZ1/s="; + }; +in +pkgs.stdenvNoCC.mkDerivation { + inherit pname version src; + + nativeBuildInputs = [ pkgs.makeWrapper ]; + + dontUnpack = true; + dontPatchELF = true; + + installPhase = '' + runHook preInstall + + cp "$src" "${pname}.AppImage" + chmod +x "${pname}.AppImage" + ./"${pname}.AppImage" --appimage-extract + + mkdir -p "$out/opt" + cp -a AppDir "$out/opt/opengoal-launcher" + rm -f "$out/opt/opengoal-launcher/share/icons/hicolor/scalable/apps/byobu.svg" + + makeWrapper "$out/opt/opengoal-launcher/AppRun" "$out/bin/${pname}" + install -Dm444 "AppDir/${pname}.desktop" \ + "$out/share/applications/${pname}.desktop" + install -Dm444 "AppDir/${pname}.png" \ + "$out/share/icons/hicolor/256x256/apps/${pname}.png" + + runHook postInstall + ''; + + passthru.updateScript = pkgs.nix-update-script { }; + + meta = with pkgs.lib; { + description = "Launcher for the OpenGOAL project"; + homepage = "https://github.com/open-goal/launcher"; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + mainProgram = pname; + }; +}