Skip to content
ouroboros

flake-file

Your flake.nix, made modular and maintainable.
Use the real Nix language to define your inputs.

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.

Contribute Community Sponsor