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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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