Skip to content

fix(nix): refresh Codex desktop package#118

Merged
ilysenko merged 7 commits intoilysenko:mainfrom
colonelpanic8:codex/refresh-nix-package
May 8, 2026
Merged

fix(nix): refresh Codex desktop package#118
ilysenko merged 7 commits intoilysenko:mainfrom
colonelpanic8:codex/refresh-nix-package

Conversation

@colonelpanic8
Copy link
Copy Markdown
Contributor

@colonelpanic8 colonelpanic8 commented May 7, 2026

Summary

  • refresh the Nix flake package to Codex Desktop 26.506.21252
  • use the Nix-provided Node.js runtime for package/installer builds and patch the bundled Browser Use node_repl executable for NixOS
  • make the Linux tray and Computer Use ASAR patches tolerate the current upstream bundle shapes
  • sync bundled Browser Use marketplace metadata into CODEX_HOME so app-server plugin discovery can see the openai-bundled marketplace
  • add a narrow git-origins source fallback for renderer requests that arrive without git operation source metadata

Why

The current upstream DMG invalidates the fetchurl hash and recursive fixed-output payload hash, and the newer bundle exposes several Linux/NixOS integration issues. These changes do not claim to solve every remaining Codex Desktop Linux behavior issue, but they make the package build against the latest app and fix concrete failures seen while starting and using the app on NixOS:

  • the stock managed Node runtime path is not suitable for NixOS packaging, so the package uses the Nix Node runtime instead
  • the bundled Browser Use node_repl binary needs a NixOS dynamic linker/rpath
  • Browser Use can be installed in the cache but still appear unavailable unless the bundled marketplace metadata is also available to app-server
  • newer bundle minification/API drift changed tray helper and plugin gate shapes
  • local task startup can trigger a missing source error for git-origins, so the bridge now supplies a fallback source only for that operation while preserving the guard for other git operations

Validation

  • node --check scripts/patch-linux-window-ui.js
  • node --test scripts/patch-linux-window-ui.test.js
  • nix build .#codex-desktop --no-link --print-out-paths

Refresh the packaged desktop app to the current upstream DMG and update the fixed-output hashes and package versions accordingly.

This also carries the ASAR patch drift needed for the newer bundle shape and removes the unused runtime share tree from the final package.
Make the Linux tray startup patch robust when the settings helper is not defined yet in the current upstream bundle.

The tray remains enabled by default, while settings-aware builds still honor the helper when it exists.
Patch the bundled Browser Use node_repl executable with the NixOS dynamic linker and runtime library path.

Without this, the in-app browser automation runtime can be present in the app bundle but fail to execute on NixOS.
Sync the bundled Browser Use marketplace metadata into CODEX_HOME so app-server plugin discovery can see the openai-bundled marketplace on Linux.

The launcher now refreshes the metadata cache safely, including replacing read-only stale files from earlier package runs.
Patch the Electron VS Code bridge to provide a narrow fallback operation source for git-origins requests that arrive without source metadata.

Other git operations still keep the upstream missing-source guard, so this only improves the observed git-origins local task startup failure.
@colonelpanic8 colonelpanic8 force-pushed the codex/refresh-nix-package branch from 93ea81e to e8afdb5 Compare May 8, 2026 04:30
colonelpanic8 and others added 2 commits May 7, 2026 22:50
Resolve ASAR patch test conflicts after main absorbed the current tray and Computer Use drift fixes, and update the tray smoke assertions to match the new settings-helper fallback.
@ilysenko ilysenko marked this pull request as ready for review May 8, 2026 14:31
@ilysenko ilysenko merged commit 2b0abd3 into ilysenko:main May 8, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants