Skip to content

Don't pull chromium into dev shell for Solidity-only repos #128

@thedavidmeister

Description

@thedavidmeister

Don't pull chromium into the dev shell for sol-only repos

The current nix develop shell pulls a chromium derivation. For repos that only need the Solidity toolchain (no JS/Rust/wasm), chromium is dead weight: large download, large nix store footprint, slow first-time bootstrap, and even with cache hits the closure adds substantial bytes that have to be extracted/linked.

Where it bites

  • First-time CI runs on a cold cache spend a long time fetching chromium (and its transitive deps).
  • Local dev — every contributor on a clean machine pays the same one-time cost just to enter the shell, even when they're only editing Solidity.
  • Cache size — chromium and its closure dominate the rainix cache footprint by a wide margin.

What I'd like

Split the rainix dev shell so sol-only repos can opt into a slimmer environment. Either:

  1. A separate rainix-sol-shell (or attribute / overlay) that has forge, slither, reuse, solc, nixpkgs essentials, but no chromium / playwright / npm / cargo / wasm-bindgen.
  2. Make chromium an opt-in via a flake input or feature flag, rather than the default.

Repos that would benefit

Every Rain repo whose CI is rainix-sol-{test,static,legal} only — i.e. doesn't touch JS or Rust:

  • rain.solmem
  • rain.math.binary
  • rain.math.saturating
  • rain.deploy
  • rain.datacontract
  • rain.string
  • rain.sol.codegen
  • rain.math.fixedpoint

That's most of the rainlanguage Solidity ecosystem.

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions