{ description = "Flake basics described using the module system"; inputs = { nixpkgs-lib.url = "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"; # 9f918d616c5321ad374ae6cb5ea89c9e04bf3e58 /lib from nixos-unstable }; outputs = inputs@{ nixpkgs-lib, ... }: let lib = import ./lib.nix { inherit (nixpkgs-lib) lib; # Extra info for version check message revInfo = if nixpkgs-lib?rev then " (nixpkgs-lib.rev: ${nixpkgs-lib.rev})" else ""; }; templates = { default = { path = ./template/default; description = '' A minimal flake using flake-parts. ''; }; multi-module = { path = ./template/multi-module; description = '' A minimal flake using flake-parts. ''; }; unfree = { path = ./template/unfree; description = '' A minimal flake using flake-parts importing nixpkgs with the unfree option. ''; }; package = { path = ./template/package; description = '' A flake with a simple package: - Nixpkgs - callPackage - src with fileset - a check with runCommand ''; }; }; flakeModules = { easyOverlay = ./extras/easyOverlay.nix; flakeModules = ./extras/flakeModules.nix; partitions = ./extras/partitions.nix; }; in lib.mkFlake { inherit inputs; } { systems = [ ]; flake = { inherit lib templates flakeModules; }; }; }