mirror of
https://github.com/warpdotdev/warp.git
synced 2026-06-03 17:00:21 +08:00
## Follow-up context This PR supersedes #9373. The earlier PR was automatically closed by the issue-readiness workflow after it was explicitly associated with the related issue before that issue had the `ready-to-implement` label. This PR carries the same Nix flake work forward and includes follow-up review fixes around bundled resources, settings schema generation, license attribution, Linux-only scope, and experimental package naming. ## Description Adds experimental first-party Nix flake support for Linux source builds of the OSS Warp binary. Fixes #9296 ## Platform scope This flake currently supports `x86_64-linux` and `aarch64-linux` only. macOS support is not included in this PR and remains WIP. What changed: - Adds `flake.nix`/`flake.lock` with the package output `warp-terminal-experimental` for supported Linux systems. - Builds the OSS Warp binary from source with the repository Rust toolchain and the `release_bundle`, `gui`, and `nld_improvements` features. - Derives the main Cargo vendor directory from `Cargo.lock` with `craneLib.vendorCargoDeps`, so the app build no longer has a top-level `cargoVendorHash` to manually maintain when `Cargo.lock` changes. - Installs bundled resources, generated stable-channel settings schema, generated third-party license attribution, desktop entry, icons, and licenses into the package output. - Uses the stable release channel when preparing bundled resources and settings metadata so the public Nix package does not include dogfood/preview-gated resources. - Keeps `warp-proto-apis` and `workflows` pinned through flake inputs, with exact revisions recorded in `flake.lock`. - Applies the vendored git checkout patches needed for `warp-proto-apis` and `workflows` during Cargo vendoring. - Wraps the executable with the runtime libraries needed on Nix systems. - Adds a matching `devShell` for Nix-based Rust development. ## Testing - `git diff --check -- flake.nix flake.lock` - `nix fmt --accept-flake-config -- --check flake.nix` - `nix eval --json --accept-flake-config .#packages` - `nix build .#warp-terminal-experimental --accept-flake-config --print-out-paths --print-build-logs` - Isolated XDG/HOME smoke launch of `/nix/store/9xav7pd562rhanqjyyp4qp5h5vp71m2k-warp-terminal-experimental-0.1.0+dirty/bin/warp-terminal-experimental` Smoke result: the process stayed up until the 15-second timeout and wrote `warp-oss.log` entries for X11 app startup, OSS channel startup, ONNX classifier load, Vulkan GPU renderer selection, and an active window. ## Server API dependencies No server API dependencies. ## Agent Mode - [ ] Warp Agent Mode - This PR was created via Warp's AI Agent Mode ## Changelog Entries for Stable CHANGELOG-IMPROVEMENT: Added experimental Linux-only Nix flake support for building OSS Warp from source. Co-Authored-By: Warp <agent@warp.dev> --------- Co-authored-by: Warp <agent@warp.dev>
65 lines
1.5 KiB
JSON
65 lines
1.5 KiB
JSON
{
|
|
"nodes": {
|
|
"crane": {
|
|
"locked": {
|
|
"lastModified": 1778106249,
|
|
"narHash": "sha256-cM/AuKy5tMhwOOQIbha8ZRRMHVfNf7cv2aljIw+qoCg=",
|
|
"owner": "ipetkov",
|
|
"repo": "crane",
|
|
"rev": "6d015ea29630b7ad2402841386da2cb617a470a7",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "ipetkov",
|
|
"repo": "crane",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs": {
|
|
"locked": {
|
|
"lastModified": 1777268161,
|
|
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "NixOS",
|
|
"ref": "nixos-unstable",
|
|
"repo": "nixpkgs",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"root": {
|
|
"inputs": {
|
|
"crane": "crane",
|
|
"nixpkgs": "nixpkgs",
|
|
"rust-overlay": "rust-overlay"
|
|
}
|
|
},
|
|
"rust-overlay": {
|
|
"inputs": {
|
|
"nixpkgs": [
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1777432579,
|
|
"narHash": "sha256-Ce11TStDsqCge2vAAfLKe2+4lDI5cSX5ZYZOuKJBKKQ=",
|
|
"owner": "oxalica",
|
|
"repo": "rust-overlay",
|
|
"rev": "3ecb5e6ab380ced3272ef7fcfe398bffbcc0f152",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "oxalica",
|
|
"repo": "rust-overlay",
|
|
"type": "github"
|
|
}
|
|
}
|
|
},
|
|
"root": "root",
|
|
"version": 7
|
|
}
|