mirror of
https://github.com/NixOS/nix
synced 2025-07-04 11:21:47 +02:00
Update lock files from InstallableFlake::toValue()
This ensures that the lock file is updated *before* evaluating it, and that it gets updated for any nix command, not just 'nix build'. Also, while computing the lock file, allow arbitrary registry lookups, not just at top-level. Also, improve some error messages slightly.
This commit is contained in:
parent
7b312a8762
commit
60834492ae
6 changed files with 40 additions and 53 deletions
|
@ -29,7 +29,9 @@ struct LockFile
|
|||
|
||||
Path getUserRegistryPath();
|
||||
|
||||
void makeFlakeValue(EvalState & state, const FlakeRef & flakeRef, bool impureTopRef, Value & v);
|
||||
enum RegistryAccess { DisallowRegistry, AllowRegistry, AllowRegistryAtTop };
|
||||
|
||||
void makeFlakeValue(EvalState & state, const FlakeRef & flakeRef, RegistryAccess registryAccess, Value & v);
|
||||
|
||||
std::shared_ptr<FlakeRegistry> readRegistry(const Path &);
|
||||
|
||||
|
@ -73,9 +75,7 @@ struct Dependencies
|
|||
Dependencies(const Flake & flake) : flake(flake) {}
|
||||
};
|
||||
|
||||
Dependencies resolveFlake(EvalState &, const FlakeRef &, bool impureTopRef, bool isTopFlake = true);
|
||||
|
||||
FlakeRegistry updateLockFile(EvalState &, const Flake &);
|
||||
Dependencies resolveFlake(EvalState &, const FlakeRef &, RegistryAccess registryAccess, bool isTopFlake = true);
|
||||
|
||||
void updateLockFile(EvalState &, const Path & path);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue