Skip to content
/ flake-file Public

Generate flake.nix or unflake.nix from inputs defined as module options.

License

Notifications You must be signed in to change notification settings

vic/flake-file

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

108 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sponsor Vic Dendritic Nix CI Status License

Generate flake.nix/unflake.nix/npins from inputs defined as module options.

flake-file and 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.mkDefault or 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.

Despite the original flake-oriented name, it NOW also works on stable Nix, non-flakes environments via npins or unflake.

Features

  • Flake definition aggregated from Nix modules.
  • Input and Output schemas based on Nix types.
  • Syntax for nixConfig and follows is the same as in flakes.
  • flake check ensures files are up to date.
  • App for flake.nix generator: nix run .#write-flake
  • Custom do-not-edit header.
  • Automatic flake.lock flattening.
  • Incrementally add flake-parts-builder templates.
  • Pick flakeModules for different feature sets.
  • Dendritic flake template.
  • Works on stable Nix, npins and unflake environments.
image

this cute ouroboros is puking itself out.

Learn more: Documentation

Sponsor this project

  •  

Contributors 13

Languages