Skip to content

Conversation

@Qqwy
Copy link
Contributor

@Qqwy Qqwy commented Jan 30, 2026

  • Remove biome from pre-commit as we do not have any useful JSON that is worth being formatted
  • Pick the appropriate Rust from the rust-toolchain.toml also in Nix.
    • Before this change we were building with different versions inside and outside of Nix!
  • Use Crane to cache building dependencies.
    • Stop using the maturin stuff of rustPlatform, it secretly under the hood does not use the given rustToolchain but picks whatever other deps (in this case one of the opentelemetry Python libs depends on a cryptography lib which also uses maturin) decided to use as Rust version. A very strange and footgunny interaction of Nix<->Python<->Rust.


done_count = done_count.saturating_add(1);
if done_count % 50 == 0 {
if done_count.is_multiple_of(50) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Introduced in a newer Rust version, so now Clippy fix adds this.

# dependency on the Python packages that we override.
# In our case cachix > ghc > shpinx > Python libraries.
pythonChannable = prev.python312.override { packageOverrides = pythonOverlay; };
python = prev.python312.override { packageOverrides = pythonOverlay; };
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this one package, it is cleaner to give it a generic name. This allows dependents to override what python version is used (with or without specifying it in an overlay).

description = "lightweight batch processing queue for heavy loads"
repository = "https://github.com/channable/opsqueue"
license = "MIT"
include=["opsqueue_example_database_schema.db"]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Boyscout rule: Newer cargo was complaining about this not being set in the right place.

@Qqwy
Copy link
Contributor Author

Qqwy commented Jan 30, 2026

@OpsBotPrime merge

@OpsBotPrime
Copy link
Contributor

Your merge request has been denied, because merging on Fridays is not recommended. To override this behaviour use the command merge on Friday.

Qqwy added 4 commits January 30, 2026 16:53
… the overlay

Before it was only used in the devshell; now it is also used when
compiling the binary targets.
- Make usage of `crane` an implementation detail;
- When building with Nix, people get to customize what `rustToolchain` is
  used, by either setting that in the overlay or directly overriding it
  when using `callPackage`.
- Compile opsqueue_python also with Crane (+ Maturin).
- Document how the Nix Crane<->Maturin setup works
- Bump Rust version in rust-toolchain.toml from 1.85 to 1.92
  This is now also the version used when building with Nix!
- Boyscout rule: Fix warning about unused Cargo.toml lib.include key
- Boyscout rule: Disable integration test timeouts, to test speed of the Nix-based integration suite run on CI
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