In case it hasn't been considered yet.
nix flake show is a user facing command. The designer might want some control over its output. He might want to hide certain less important outputs so that the user is presented with a clean overview of the flake outputs.
This, a priori, violates the customary expectation that nix flake show provides a complete inventory (even though only showing unknown on undefined schemata).
A synthesis could be:
- Add
nix flake show --include-hidden (or similar flag); the presence of which clarifies all expectations from the point of its introduction
- Any
--json version must also include hidden. Machine processing doesn't care about aesthetics and prefers complete information.
Note, that this doesn't propose to hide "unknown" outputs, but rather to introduce some mechanism to identify, specify and hide a an output schema. The implementation may be located inside the schema definition, e.g. hide = true;. Therefore, in order to hide an output, it must be a known schema.
In case it hasn't been considered yet.
nix flake showis a user facing command. The designer might want some control over its output. He might want to hide certain less important outputs so that the user is presented with a clean overview of the flake outputs.This, a priori, violates the customary expectation that
nix flake showprovides a complete inventory (even though only showingunknownon undefined schemata).A synthesis could be:
nix flake show --include-hidden(or similar flag); the presence of which clarifies all expectations from the point of its introduction--jsonversion must also include hidden. Machine processing doesn't care about aesthetics and prefers complete information.Note, that this doesn't propose to hide "unknown" outputs, but rather to introduce some mechanism to identify, specify and hide a an output schema. The implementation may be located inside the schema definition, e.g.
hide = true;. Therefore, in order to hide an output, it must be a known schema.