Home / Input Output / devx
Feb 15, 6-7 PM (0)
Feb 15, 7-8 PM (0)
Feb 15, 8-9 PM (0)
Feb 15, 9-10 PM (0)
Feb 15, 10-11 PM (0)
Feb 15, 11-12 AM (0)
Feb 16, 12-1 AM (0)
Feb 16, 1-2 AM (0)
Feb 16, 2-3 AM (0)
Feb 16, 3-4 AM (0)
Feb 16, 4-5 AM (0)
Feb 16, 5-6 AM (0)
Feb 16, 6-7 AM (0)
Feb 16, 7-8 AM (0)
Feb 16, 8-9 AM (0)
Feb 16, 9-10 AM (0)
Feb 16, 10-11 AM (0)
Feb 16, 11-12 PM (0)
Feb 16, 12-1 PM (0)
Feb 16, 1-2 PM (0)
Feb 16, 2-3 PM (0)
Feb 16, 3-4 PM (0)
Feb 16, 4-5 PM (0)
Feb 16, 5-6 PM (0)
Feb 16, 6-7 PM (0)
Feb 16, 7-8 PM (0)
Feb 16, 8-9 PM (0)
Feb 16, 9-10 PM (0)
Feb 16, 10-11 PM (0)
Feb 16, 11-12 AM (0)
Feb 17, 12-1 AM (0)
Feb 17, 1-2 AM (0)
Feb 17, 2-3 AM (0)
Feb 17, 3-4 AM (0)
Feb 17, 4-5 AM (0)
Feb 17, 5-6 AM (0)
Feb 17, 6-7 AM (0)
Feb 17, 7-8 AM (0)
Feb 17, 8-9 AM (0)
Feb 17, 9-10 AM (0)
Feb 17, 10-11 AM (0)
Feb 17, 11-12 PM (1)
Feb 17, 12-1 PM (0)
Feb 17, 1-2 PM (0)
Feb 17, 2-3 PM (0)
Feb 17, 3-4 PM (0)
Feb 17, 4-5 PM (0)
Feb 17, 5-6 PM (0)
Feb 17, 6-7 PM (0)
Feb 17, 7-8 PM (0)
Feb 17, 8-9 PM (0)
Feb 17, 9-10 PM (0)
Feb 17, 10-11 PM (0)
Feb 17, 11-12 AM (0)
Feb 18, 12-1 AM (0)
Feb 18, 1-2 AM (0)
Feb 18, 2-3 AM (0)
Feb 18, 3-4 AM (1)
Feb 18, 4-5 AM (0)
Feb 18, 5-6 AM (0)
Feb 18, 6-7 AM (0)
Feb 18, 7-8 AM (0)
Feb 18, 8-9 AM (0)
Feb 18, 9-10 AM (0)
Feb 18, 10-11 AM (0)
Feb 18, 11-12 PM (0)
Feb 18, 12-1 PM (0)
Feb 18, 1-2 PM (0)
Feb 18, 2-3 PM (0)
Feb 18, 3-4 PM (0)
Feb 18, 4-5 PM (0)
Feb 18, 5-6 PM (0)
Feb 18, 6-7 PM (0)
Feb 18, 7-8 PM (0)
Feb 18, 8-9 PM (0)
Feb 18, 9-10 PM (0)
Feb 18, 10-11 PM (0)
Feb 18, 11-12 AM (0)
Feb 19, 12-1 AM (0)
Feb 19, 1-2 AM (0)
Feb 19, 2-3 AM (0)
Feb 19, 3-4 AM (0)
Feb 19, 4-5 AM (0)
Feb 19, 5-6 AM (1)
Feb 19, 6-7 AM (1)
Feb 19, 7-8 AM (0)
Feb 19, 8-9 AM (0)
Feb 19, 9-10 AM (0)
Feb 19, 10-11 AM (0)
Feb 19, 11-12 PM (0)
Feb 19, 12-1 PM (0)
Feb 19, 1-2 PM (0)
Feb 19, 2-3 PM (0)
Feb 19, 3-4 PM (0)
Feb 19, 4-5 PM (0)
Feb 19, 5-6 PM (0)
Feb 19, 6-7 PM (0)
Feb 19, 7-8 PM (0)
Feb 19, 8-9 PM (0)
Feb 19, 9-10 PM (0)
Feb 19, 10-11 PM (0)
Feb 19, 11-12 AM (0)
Feb 20, 12-1 AM (0)
Feb 20, 1-2 AM (0)
Feb 20, 2-3 AM (0)
Feb 20, 3-4 AM (1)
Feb 20, 4-5 AM (0)
Feb 20, 5-6 AM (0)
Feb 20, 6-7 AM (0)
Feb 20, 7-8 AM (2)
Feb 20, 8-9 AM (0)
Feb 20, 9-10 AM (0)
Feb 20, 10-11 AM (0)
Feb 20, 11-12 PM (0)
Feb 20, 12-1 PM (0)
Feb 20, 1-2 PM (0)
Feb 20, 2-3 PM (0)
Feb 20, 3-4 PM (1)
Feb 20, 4-5 PM (0)
Feb 20, 5-6 PM (0)
Feb 20, 6-7 PM (0)
Feb 20, 7-8 PM (0)
Feb 20, 8-9 PM (0)
Feb 20, 9-10 PM (0)
Feb 20, 10-11 PM (0)
Feb 20, 11-12 AM (0)
Feb 21, 12-1 AM (0)
Feb 21, 1-2 AM (0)
Feb 21, 2-3 AM (0)
Feb 21, 3-4 AM (0)
Feb 21, 4-5 AM (0)
Feb 21, 5-6 AM (0)
Feb 21, 6-7 AM (0)
Feb 21, 7-8 AM (0)
Feb 21, 8-9 AM (0)
Feb 21, 9-10 AM (0)
Feb 21, 10-11 AM (0)
Feb 21, 11-12 PM (0)
Feb 21, 12-1 PM (0)
Feb 21, 1-2 PM (0)
Feb 21, 2-3 PM (0)
Feb 21, 3-4 PM (0)
Feb 21, 4-5 PM (0)
Feb 21, 5-6 PM (0)
Feb 21, 6-7 PM (0)
Feb 21, 7-8 PM (0)
Feb 21, 8-9 PM (0)
Feb 21, 9-10 PM (0)
Feb 21, 10-11 PM (0)
Feb 21, 11-12 AM (0)
Feb 22, 12-1 AM (0)
Feb 22, 1-2 AM (0)
Feb 22, 2-3 AM (0)
Feb 22, 3-4 AM (0)
Feb 22, 4-5 AM (0)
Feb 22, 5-6 AM (0)
Feb 22, 6-7 AM (0)
Feb 22, 7-8 AM (0)
Feb 22, 8-9 AM (0)
Feb 22, 9-10 AM (0)
Feb 22, 10-11 AM (0)
Feb 22, 11-12 PM (0)
Feb 22, 12-1 PM (0)
Feb 22, 1-2 PM (0)
Feb 22, 2-3 PM (0)
Feb 22, 3-4 PM (0)
Feb 22, 4-5 PM (0)
Feb 22, 5-6 PM (0)
Feb 22, 6-7 PM (0)
8 commits this week Feb 15, 2026 - Feb 22, 2026
Fix PR validation: paginated API response and devx invocation
gh api --paginate returns multiple JSON objects (one per page).
The old jq heredoc processed each page separately, producing
multiple arrays (some empty []) which GitHub Actions rejected
as invalid output format. Use jq --slurp to merge all pages
into a single array before filtering.

Also fix the validate step: the devx wrapper sources $1 as a
file path, it doesn't support bash-style -c. Write smoke test
commands to a temp file instead.
Fix ghcr-upload.sh: null byte crash from binary NAR in store-paths.txt
The old code piped `nix-store --export` (binary NAR output containing
null bytes) through `tee store-paths.txt`, then used `tail -n 1` on
that binary file inside $() — bash on Ubuntu 24.04 errors out with
"command substitution: ignored null byte in input".

Fix: capture the text path list from `nix-store -qR` in a variable
first, then use grep to verify the -env.sh script is in the closure.
Add -env-test Hydra jobs to validate devcontainer environments
Source each -env.sh script in a sandbox and verify that ghc, cabal,
and pkg-config are functional. Optionally checks HLS for non-minimal,
non-JS, non-Windows shells with compiler < 9.11. Catches PATH
construction errors, missing packages, and broken shellHooks that
would produce unusable containers. Not yet in `required` aggregate.
Fix windows overlay: use overrideScope for makeScope propagation
The windows package set uses lib.makeScope which creates an internal
fixed-point. Using `prev.windows // { ... }` only replaces top-level
attributes but internal scope consumers (GCC bootstrap, haskell.nix)
still resolve to the original broken derivations via the scope's
internal newScope/callPackage mechanism.

Switch to prev.windows.overrideScope which properly threads changes
through the fixed-point, ensuring ALL references to mcfgthreads and
mingw_w64_pthreads within the windows scope resolve to our fixed
versions.

This explains why eval 429 had TWO mcfgthread derivations: the
overlayed one (SUCCESS) and the original scope one (FAILURE, referenced
by 32 builds).
Fix Windows cross-build: tzdata chmod ordering, ngtcp2 examples
tzdata: stdenv's unpackPhase runs `chmod -R u+w "$sourceRoot"` BEFORE
postUnpack, so the previous fix (creating tzdata-src in postUnpack)
failed because chmod ran on a nonexistent directory. Fix: set
dontMakeSourcesWritable=true and run chmod manually in postUnpack.

ngtcp2: examples include POSIX-only headers (sys/socket.h, sys/un.h)
that don't exist on Windows (same class of issue as nghttp3). Disable
examples with ENABLE_EXAMPLES=OFF.
Revert single-output postgresql, use cache breaker v3
The single-output postgresql (685d555) broke the eval because
downstream packages (haskell.nix libpq) depend on postgresql.lib
and postgresql.dev outputs which don't exist with outputs=["out"].

Revert to the standard 5-output postgresql with all the existing
fixes (jitSupport=false, perlSupport=false, fno-lto, etc) and add
a cache breaker v3 to force new derivation hashes. This ensures
the queue runner won't hit stale FailedPaths entries from previous
postgresql-musl orphaned store path failures.
Scope gcc14 fixincludes override to x86_64-linux only
Using isLinux also changed aarch64-linux gcc14, which cascades through
the entire IFD chain (gcc14 → stdenv → glibc → linux-headers → GHC →
nix-tools → plan-nix). This forces linux-headers to be rebuilt, but
linux-headers fails on darwin builders' case-insensitive APFS (netfilter
headers like xt_TCPMSS.h vs xt_tcpmss.h collide). The fixincludes issue
only affects x86_64-linux GCC builds on the Determinate Nix Linux VM.
Fix GCC 14 fixincludes failure + postgresql cache breaker v2
GCC 14's fixincludes step bakes /usr/include into the Makefile via
@BUILD_SYSTEM_HEADER_DIR@ configure-time substitution. On NixOS-based
builders (Determinate Nix Linux VM), /usr/include doesn't exist,
failing all x86_64-linux GCC builds and cascading to 32 Windows
cross-builds. --disable-fixincludes is safe for Nix (store-managed
headers) and already used by nixpkgs' standalone libgcc build.

Also bumps postgresql musl cache breaker to v2 to force new drv hashes
after deploying sync-before-registering to darwin builders.