Skip to content

flake.nix declares a rain input it never uses, dragging a stale rainix into the lock #29

Description

@thedavidmeister

flake.nix declares three inputs and uses two:

inputs = {
  flake-utils.url = "github:numtide/flake-utils";
  rainix.url = "github:rainlanguage/rainix";
  rain.url = "github:rainlanguage/rain.cli";
};

outputs = { flake-utils, rainix, ... }: ...

rain is never referenced. outputs destructures flake-utils and rainix, and the ... swallows the rest.

It is not inert

The unused input is the sole reason flake.lock carries a second, much older rainix. rain.cli has its own rainix dependency, so the lock holds two nodes:

node rev lastModified reached via
rainix_2 f22d4dc 1780287289 (2026-06-01) root.inputs.rainix — the one actually used
rainix f3bdb28 1714764843 (2024-05-03) root.inputs.rain → rain.cli

That second node is a live trap for anyone reading the lock: grepping "rainix": { finds the 2024 one first, and concluding from it that this repo's toolchain is two years stale is wrong by about two years. That already happened once during review of #26.

Ask

Remove rain from inputs and regenerate flake.lock. Nothing in outputs changes, and the two orphaned nodes drop out with it.

Scope is the unused input only. The drift between rainix_2 and CI's RAINIX_SHA is a separate question, tracked in #28 — this issue should not bump the pin.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions