Modular Inputs
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.
flake-file lets you generate a clean, maintainable flake.nix from modular Nix options.
Define inputs close to where they are used — in any Nix module — then with a single command, write flake.nix or unflake.nix or npins.
Modular Inputs
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.
Single Command Regeneration
Run nix run .#write-flake to regenerate flake.nix from your options. A flake check enforces that files stay in sync.
Also provides nix-shell commands for stable Nix world.
Lock Flattening
Built-in support for automatic flake.lock flattening via allfollow or nix-auto-follow.
Multiple Backends
Generate flake.nix, unflake.nix, or npins/ from the same module options. Switch backends without rewriting your modules.