···5656 <Card title="Modular Inputs" icon="puzzle">
5757 Define `flake.nix` inputs in separate modules using the Nix module system and the **real** Nix language features. Use `lib.mkDefault` or interpolate Nix expressions, etc.
5858 </Card>
5959- <Card title="Single Command Regeneration" icon="rocket">
6060- Run `nix run .#write-flake` to regenerate `flake.nix` from your options. A flake check enforces that files stay in sync.
6161- Also provides `nix-shell` commands for stable Nix world.
5959+ <Card title="Input and Output Flake Schemas" icon="nix">
6060+ Not only your input definitions are checked by a typed schema, but you can also **define custom** schemas for your flake outputs.
6261 </Card>
6362 <Card title="Lock Flattening" icon="list-format">
6463 Built-in support for automatic `flake.lock` flattening via `allfollow` or `nix-auto-follow`.
6564 </Card>
6665 <Card title="Multiple Backends" icon="setting">
6766 Generate `flake.nix`, `unflake.nix`, `nixlock`, or `npins/` from the same module options. Switch backends without rewriting your modules.
6868- </Card>
6767+6868+ Run `nix run .#write-flake` to regenerate `flake.nix` from your options. A flake check enforces that files stay in sync.
6969+ Also provides `nix-shell` commands for stable Nix world.
7070+</Card>
6971</CardGrid>