flake-parts

Readup

Docs.

General

mkFlake

Parts provide a simple way of defining per-system configurations - perSysten attribute. systems defines what systems to generate attributes for, flake is for everythng else. perSystem, being a function, has a couple arguments:

Module Structure

A module is in general a flake, having a flakeModule output, and commonly a template, demonstrating example usage of the module. flakeModule is structurally similar to nixos modules: it has both options and config outputs, and a set of inputs, including inputs, lib, config, etc.. options can be set in flake attribute of the user, config populates aforementioned attribute.

Modules

u easyOverlay

u ez-configs

u hercules-ci-effects

See hercules-ci.