OFFSET偏移
← All reading paths

DOSSIER 08 / 8 ARTICLES

Flakes: project and dependency management

From input graphs to system outputs, understand locking, updates, and rollback.

Start with the first article

Follow the question further.

A Flake organizes a project into inputs and outputs, while flake.lock records the resolved input graph. This topic explains structure and locking before covering templates, external dependencies, system migration, a complete tutorial, and update recovery.

  1. 01

    Understand Flake inputs, outputs, self, and the levels involved in capturing function arguments.

    Flake structure: inputs and outputs

    Understand Flake inputs, outputs, self, and the levels involved in capturing function arguments.

    Read article
  2. 02

    Record dependency sources with version locking while understanding the conditions for reproducible results.

    flake.lock and reproducibility

    Record dependency sources with version locking while understanding the conditions for reproducible results.

    Read article
  3. 03

    Generate outputs for multiple platforms and turn development environments into reusable templates.

    Flake Utils and project templates

    Generate outputs for multiple platforms and turn development environments into reusable templates.

    Read article
  4. 04

    Connect external modules and packages, and check the relationships between dependency versions.

    External Flake references and collaboration

    Connect external modules and packages, and check the relationships between dependency versions.

    Read article
  5. 05

    Create a Flake entry point from an existing configuration, then perform checks, builds, and activation separately.

    Migrating NixOS configuration to Flakes

    Create a Flake entry point from an existing configuration, then perform checks, builds, and activation separately.

    Read article
  6. 06

    Work through Flake commands and project structure, from input syntax to multi-host organization.

    A tutorial on Flake projects and dependency management

    Work through Flake commands and project structure, from input syntax to multi-host organization.

    Read article
  7. 07

    Distinguish input updates, package sets, system generations, and cache downloads.

    How Flake updates work

    Distinguish input updates, package sets, system generations, and cache downloads.

    Read article
  8. 08

    Preserve existing changes before restoring the lock file, and distinguish dependency rollback from system-generation rollback.

    Rolling back and manually editing flake.lock

    Preserve existing changes before restoring the lock file, and distinguish dependency rollback from system-generation rollback.

    Read article
← More reading pathsAll articles ↗