c3pm keeps all dependency locks in one file:

.c3pm/nix/flake.lock

It pins:

  • nixpkgs;
  • explicitly selected compiler inputs;
  • fetched C3 dependencies and linked project sources.

Nix handles fetching and locking. c3pm does not clone repositories itself or maintain a second lock format.

The user’s choice of system Nix or nix-portable is configured separately from the project lock. See Configure toolchains.

For real-world library-native Nix metadata, see:

SMFloris/c3c-vendor