Is inputs.self a "natural" way to access outputs?

I’ve seen this PR in nix-starter-configs repo and was wondering if there’s anywhere saying that inputs.self is the “natural” or standard way. I liked this way because I only have to pass the inputs around, which simplifies my config, but couldn’t find anything useful about it.

inputs.self is fine, yes. It’s referring to the current flake, from which you can then access its outputs just like any other flake.

EDIT: in fact, that is the main reason that self is passed via the arg of the outputs function, to make such a construction possible.

1 Like