From 80a429348637b5b2f76a93caa9e5a31936f1e834 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Tue, 27 May 2025 11:56:45 +0200 Subject: [PATCH] nix flake archive: add --no-check-sigs option Allows to copy the archive to a remote host and not get error: cannot add path '/nix/store/01x2k4nlxcpyd85nnr0b9gm89rm8ff4x-source' because it lacks a signature by a trusted key --- src/nix/flake.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/nix/flake.cc b/src/nix/flake.cc index 0a70fa4b4..95cf85663 100644 --- a/src/nix/flake.cc +++ b/src/nix/flake.cc @@ -1051,6 +1051,10 @@ struct CmdFlakeArchive : FlakeCommand, MixJSON, MixDryRun { std::string dstUri; + CheckSigsFlag checkSigs = CheckSigs; + + SubstituteFlag substitute = NoSubstitute; + CmdFlakeArchive() { addFlag({ @@ -1059,6 +1063,11 @@ struct CmdFlakeArchive : FlakeCommand, MixJSON, MixDryRun .labels = {"store-uri"}, .handler = {&dstUri}, }); + addFlag({ + .longName = "no-check-sigs", + .description = "Do not require that paths are signed by trusted keys.", + .handler = {&checkSigs, NoCheckSigs}, + }); } std::string description() override @@ -1122,7 +1131,8 @@ struct CmdFlakeArchive : FlakeCommand, MixJSON, MixDryRun if (!dryRun && !dstUri.empty()) { ref dstStore = dstUri.empty() ? openStore() : openStore(dstUri); - copyPaths(*store, *dstStore, sources); + + copyPaths(*store, *dstStore, sources, NoRepair, checkSigs, substitute); } } };