mirror of
https://github.com/NixOS/nix
synced 2025-06-26 20:01:15 +02:00
Allow specifying alternative paths for reading/writing flake locks
This allows having multiple separate lockfiles for a single project, which can be useful for testing against different versions of nixpkgs; it also allows tracking custom input overrides for remote flakes without requiring local clones of these flakes. For example, if I want to build Nix against my locally pinned nixpkgs, and have a lock file tracking this override independently of future updates to said nixpkgs: nix flake lock --output-lock-file /tmp/nix-flake.lock --override-input nixpkgs flake:nixpkgs nix build --reference-lock-file /tmp/nix-flake.lock Co-Authored-By: Will Fancher <elvishjerricco@gmail.com>
This commit is contained in:
parent
4a96125c3c
commit
e91596eb69
3 changed files with 47 additions and 12 deletions
|
@ -102,6 +102,28 @@ MixFlakeOptions::MixFlakeOptions()
|
|||
}}
|
||||
});
|
||||
|
||||
addFlag({
|
||||
.longName = "reference-lock-file",
|
||||
.description = "Read the given lock file instead of `flake.lock` within the top-level flake",
|
||||
.category = category,
|
||||
.labels = {"flake-lock-path"},
|
||||
.handler = {[&](std::string lockFilePath) {
|
||||
lockFlags.referenceLockFilePath = lockFilePath;
|
||||
}},
|
||||
.completer = completePath
|
||||
});
|
||||
|
||||
addFlag({
|
||||
.longName = "output-lock-file",
|
||||
.description = "Write the given lock file instead of `flake.lock` within the top-level flake",
|
||||
.category = category,
|
||||
.labels = {"flake-lock-path"},
|
||||
.handler = {[&](std::string lockFilePath) {
|
||||
lockFlags.outputLockFilePath = lockFilePath;
|
||||
}},
|
||||
.completer = completePath
|
||||
});
|
||||
|
||||
addFlag({
|
||||
.longName = "inputs-from",
|
||||
.description = "Use the inputs of the specified flake as registry entries.",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue