This is one of those big changes in the country of nix that is on the horizon. The flakes aim to improve certain aspects of nix: From Dolstra (RFC 49):

Abstract: This RFC proposes a mechanism to package Nix expressions into composable
entities called "flakes". Flakes allow hermetic, reproducible evaluation of
multi-repository Nix projects; impose a discoverable, standard structure on Nix projects;
and replace previous mechanisms such as Nix channels and the Nix search path.

A series of developer posts describing flakes can be found here: TweagIO Flakes.

Notes from Alexander Bentyev on getting started through his NixCon.

Everything is a flake... nixpkgs, Nix, that serokell presentation, if there is a flake.nix in the root directory it is a flake.

See also:

Dolstra gist


How to do a flake build in non-nixos system?