First, the honest framing: if you just want ChatGPT on Bluefin, use the cask. One command, updates itself, nothing to configure.
brew install --cask ublue-os/experimental-tap/chatgpt-linux
That unpacks OpenAI’s rpm into ~/.local and runs it as you. For most people that is the right answer, and my original post implied a distribution gap that doesn’t exist here. That was wrong.
This is for the smaller group who want the opposite trade. Codex executes code. I don’t want the thing running commands holding read access to ~/.ssh, ~/.aws, my browser profiles and my work repos.
flatpak remote-add --user chatgpt https://rulin132.github.io/codex-flatpak/chatgpt.flatpakrepo
flatpak install --user chatgpt io.github.rulin132.ChatGPT
It starts with no filesystem access at all. You hand it directories one at a time:
flatpak override --user --filesystem=~/Projects io.github.rulin132.ChatGPT
Renderers stay under zypak rather than --no-sandbox, which is what the other Flatpak repackagings use. No OpenAI binaries are redistributed: it uses extra-data, so your machine fetches their .deb against a pinned sha256. x86_64 and aarch64, signed, built in CI.
You can go further and deny X11 outright:
flatpak override --user --nosocket=x11 --nosocket=fallback-x11 io.github.rulin132.ChatGPT
What you give up: the desktop pet doesn’t render. Upstream draws it in a transparent window and this Electron build doesn’t composite that on Wayland.
Happy to answer anything about the packaging, bug reports and PR’s are welcome.