diff --git a/.gitea/workflows/publish-attic.yaml b/.gitea/workflows/publish-attic.yaml index a21ef2c..36e1c46 100644 --- a/.gitea/workflows/publish-attic.yaml +++ b/.gitea/workflows/publish-attic.yaml @@ -62,10 +62,11 @@ jobs: system="$(nix eval --impure --raw --expr builtins.currentSystem)" - nix build --accept-flake-config --no-link --print-out-paths -L \ + NIXPKGS_ALLOW_UNFREE=1 nix build --impure --accept-flake-config --no-link --print-out-paths -L \ ".#packages.${system}.musicpresence" \ ".#packages.${system}.vintage-story" \ ".#packages.${system}.swaytreesave" \ + ".#packages.${system}.archon" \ | tee built-paths.txt - name: Push packages to Attic diff --git a/pkgs/default.nix b/pkgs/default.nix index a9051c0..bf304eb 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -3,4 +3,5 @@ swaytreesave = pkgs.callPackage ./linux/swaytreesave.nix {}; musicpresence = pkgs.callPackage ./linux/musicpresence.nix {}; vintage-story = pkgs.callPackage ./linux/vintage-story.nix {}; + archon = pkgs.callPackage ./linux/archon.nix {}; } diff --git a/pkgs/linux/archon.nix b/pkgs/linux/archon.nix new file mode 100644 index 0000000..9d3ad21 --- /dev/null +++ b/pkgs/linux/archon.nix @@ -0,0 +1,32 @@ +{ pkgs }: +let + pname = "archon"; + version = "9.3.119"; + + src = pkgs.fetchurl { + url = "https://github.com/RPGLogs/Uploaders-archon/releases/download/v${version}/${pname}-v${version}.AppImage"; + hash = "sha256-mUsmaIxm3DZ1vvcwxpmDTWTj+UlFSv+jYkBrteL8xQk="; + }; + + appimageContents = pkgs.appimageTools.extract { + inherit pname version src; + }; +in +pkgs.appimageTools.wrapType2 { + inherit pname version src; + + nativeBuildInputs = with pkgs; [ makeWrapper ]; + extraInstallCommands = '' + install -Dm444 "${appimageContents}/Archon App.desktop" "$out/share/applications/archon.desktop" + install -Dm444 "${appimageContents}/Archon App.png" "$out/share/icons/hicolor/256x256/apps/archon.png" + ''; + + meta = with pkgs.lib; { + description = "RPGLogs Archon uploader"; + homepage = "https://github.com/RPGLogs/Uploaders-archon"; + license = licenses.unfree; + platforms = platforms.linux; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + mainProgram = "archon"; + }; +}