Skip to content

feat(flake): repo-root flake.nix packaging + nixpkgs-pin parity gate (RIG-2757, T6) - #642

Merged
mattwilkinsonn merged 1 commit into
mainfrom
compass-native/rig-2757-flake
Aug 26, 2026
Merged

feat(flake): repo-root flake.nix packaging + nixpkgs-pin parity gate (RIG-2757, T6)#642
mattwilkinsonn merged 1 commit into
mainfrom
compass-native/rig-2757-flake

Conversation

@rigel-mintaka

Copy link
Copy Markdown
Contributor

Add a repo-root flake.nix packaging the four backend binaries (compass,
compass-server, compass-runner, compass-stack — one shared version stamp,
Global Constraint 4), the Linux gtk3 cgo native app (compass-app, built against
the shared SEA-1172 gtk-closure.nix so the dev shell, e2e helper, and flake
cannot drift), and the microVM stack-env trio (cloud-hypervisor + virtiofsd +
passt). nixpkgs is pinned to devenv.lock's rev.

Because the flake carries its OWN flake.lock — a second independent nixpkgs pin
— a devenv bump could silently skew the 'one closure' claim. tools/toolchain/
flake-parity.ts (thin shell over a pure, unit-tested core, mirroring parity.ts)
enforces flake.lock's nixpkgs rev == devenv.lock's, wired as the flake-gate moon
project (nix-source, ci-group.nix) running nix flake check + the parity gate,
affected-gated on the flake build closure. aarch64-darwin is deferred with a
TODO (the darwin app links system WebKit, not the gtk closure).

Implements DL-259 install surface (flake as the self-host stack's install path).

Co-authored-by: Matt Wilkinson matt@rigel.build

@linear-code

linear-code Bot commented Aug 26, 2026

Copy link
Copy Markdown

RIG-2757

@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-native-rig-2757-flak.compass-eng-docs.pages.dev

Deployed from compass-native/rig-2757-flake at 45cdfd2.

…(RIG-2757, T6)

Add a repo-root flake.nix packaging the four backend binaries (compass,
compass-server, compass-runner, compass-stack — one shared version stamp,
Global Constraint 4), the Linux gtk3 cgo native app (compass-app, built against
the shared SEA-1172 gtk-closure.nix so the dev shell, e2e helper, and flake
cannot drift), and the microVM stack-env trio (cloud-hypervisor + virtiofsd +
passt). nixpkgs is pinned to devenv.lock's rev.

Because the flake carries its OWN flake.lock — a second independent nixpkgs pin
— a devenv bump could silently skew the 'one closure' claim. tools/toolchain/
flake-parity.ts (thin shell over a pure, unit-tested core, mirroring parity.ts)
enforces flake.lock's nixpkgs rev == devenv.lock's, wired as the flake-gate moon
project (nix-source, ci-group.nix) running nix flake check + the parity gate,
affected-gated on the flake build closure. aarch64-darwin is deferred with a
TODO (the darwin app links system WebKit, not the gtk closure).

Implements DL-259 install surface (flake as the self-host stack's install path).

Co-authored-by: Matt Wilkinson <matt@rigel.build>
@rigel-mintaka
rigel-mintaka force-pushed the compass-native/rig-2757-flake branch from 52cb21d to 45cdfd2 Compare August 26, 2026 05:03
@rigel-mintaka
rigel-mintaka marked this pull request as ready for review August 26, 2026 05:08
@mattwilkinsonn
mattwilkinsonn merged commit 1b3f52f into main Aug 26, 2026
13 checks passed
@mattwilkinsonn
mattwilkinsonn deleted the compass-native/rig-2757-flake branch August 26, 2026 05:22
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