vic/flake-file
Generate flake.nix from module options. Input and Output schemas. Works with flakes, unflake, npins or nixlock.
{ "defaultBranch": "main", "description": "Generate flake.nix from module options. Input and Output schemas. Works with flakes, unflake, npins or nixlock.", "fullName": "vic/flake-file", "homepage": "http://flake-file.oeiuwq.com/", "language": "Nix", "name": "flake-file", "pushedAt": "2026-03-16T05:10:23Z", "stargazersCount": 93, "updatedAt": "2026-03-20T20:37:59Z", "url": "https://github.com/vic/flake-file"}Non-static Nix on your flake inputs! Define custom output schemas.
Section titled “Non-static Nix on your flake inputs! Define custom output schemas.”
flake-fileand vic’s dendritic libs made for you with Love++ and AI—. If you like my work, consider sponsoring
flake-file lets you generate a clean, maintainable flake.nix from Nix module options. Use the real Nix language to define your inputs.
It makes your flake definition base on the Nix module system.
This means
- You can use
lib.mkDefaultor anything you normally do with the Nix language, and have them reflected in flake.nix. - Your inputs follow a typed Input Schema.
- Your outputs can be defined on a typed Output Schema [example]!(templates/minimal/flake-file.nix).
Despite the original flake-oriented name, it NOW also works on stable Nix, non-flakes environments via [npins]!(templates/npins), [unflake]!(templates/unflake), nixlock
FeaturesSection titled “Features”
|
|
Try it Now!
Section titled “Try it Now!”mv flake.nix flake-file.nixnix-shell https://github.com/vic/flake-file/archive/main.zip -A flake-file.sh --run bootstrap