Packaging and distribution
This is an area of development in which I have no experience. Ultimately, Pixi needs installers for each OS and to be packaged correctly when built for each OS. Pixi then needs the ability to host and deliver updates when needed.
This is likely something that is a long way out, and currently we have CI artifacts uploading for x86_64 windows/linux and arm64 macOS, but I would really like to have some way to distribute debug builds at some point.
If anyone has any examples or information on how to package and distribute applications on macOS/Windows/Linux, I would love to hear from you!
I'll update this issue with any findings.
Hello! I mess around with GBA development in Zig and because of that, have been loosely tracking this project for a while. I happened to see this issue and thought I could weigh in. I have no idea if you are looking for drive-by comments like this so please excuse me if I misread the situation.
What are your ultimate goals for packaging and distribution Pixi? For MacOS and Windows, the "right" way is going to involved signed installers. I think that costs money at some point.
Lots of open source project specifically support a minimal set of targets and let others package it for specific platforms. For an example, see the PACKAGING notes from Ghostty.
Ghostty relies on downstream package maintainers to distribute Ghostty to end-users. This document provides guidance to package maintainers on how to package Ghostty for distribution.
That said, doing some packaging yourself will help users. The easy and free things you could do are:
- Make GitHub workflows that create Releases with your build artifacts attached as assets. Do this on tags. Tag often.
- Create a Homebrew Formula. I believe it's a PR to the Homebrew Core repo to let all user get access.
pixiis already taken but maybe one day people are doingbrew install pixi-editor👍 . Otherwise, a Homebrew tap is just a remote Git repository. You can host one yourself.bundoes it.
Yes! Drive-by comments are very welcome, and the information you've provided is very helpful. I think I'm a long ways off from this step, but I'd love to learn more about the options I have for down the road and how to go about it. I know there are details that need to be worked out, such as creating an info.plist and packaging the app correctly on macOS, and similar steps for windows. I don't know what all does into, for example, associating the .pixi filetype with the program.
Thank you for the links and info you've provided, i'd love this issue to just be a place to collect information, so I appreciate you taking the time.