Skip to content

Commit fabe4d4

Browse files
committed
nixos-anywhere: replace nix copy --derivation with nix flake archive
1 parent ff87db6 commit fabe4d4

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/nixos-anywhere.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,12 @@ nixBuild() {
443443
"$@"
444444
}
445445

446+
nixFlakeArchive() {
447+
NIX_SSHOPTS="${sshArgs[*]}" nix flake archive \
448+
"${nixOptions[@]}" \
449+
"$@"
450+
}
451+
446452
runVmTest() {
447453
if [[ -z ${flakeAttr} ]]; then
448454
echo "--vm-test is not supported with --store-paths" >&2
@@ -711,10 +717,7 @@ runDisko() {
711717
nixCopy --to "ssh://$sshConnection?$sshStoreSettings" "$diskoScript"
712718
elif [[ ${buildOn} == "remote" ]]; then
713719
step Building disko script
714-
# We need to do a nix copy first because nix build doesn't have --no-check-sigs
715-
# Use ssh:// here to avoid https://github.com/NixOS/nix/issues/7359
716-
nixCopy --to "ssh://$sshConnection?$sshStoreSettings" "${flake}#${flakeAttr}.system.build.${diskoMode}Script" \
717-
--derivation --no-check-sigs
720+
nixFlakeArchive --to "ssh-ng://$sshConnection?ssh-key=$tempDir%2Fnixos-anywhere&$sshStoreSettings" "${flake}"
718721
# If we don't use ssh-ng here, we get `error: operation 'getFSAccessor' is not supported by store`
719722
diskoScript=$(
720723
nixBuild "${flake}#${flakeAttr}.system.build.${diskoAttr}" \
@@ -733,10 +736,7 @@ nixosInstall() {
733736
nixCopy --to "ssh://$sshConnection?remote-store=local%3Froot=%2Fmnt&$sshStoreSettings" "$nixosSystem"
734737
elif [[ ${buildOn} == "remote" ]]; then
735738
step Building the system closure
736-
# We need to do a nix copy first because nix build doesn't have --no-check-sigs
737-
# Use ssh:// here to avoid https://github.com/NixOS/nix/issues/7359
738-
nixCopy --to "ssh://$sshConnection?remote-store=local%3Froot=%2Fmnt&$sshStoreSettings" "${flake}#${flakeAttr}.system.build.toplevel" \
739-
--derivation --no-check-sigs
739+
nixFlakeArchive --to "ssh-ng://$sshConnection?remote-store=local%3Froot=%2Fmnt&ssh-key=$tempDir%2Fnixos-anywhere&$sshStoreSettings" "${flake}"
740740
# If we don't use ssh-ng here, we get `error: operation 'getFSAccessor' is not supported by store`
741741
nixosSystem=$(
742742
nixBuild "${flake}#${flakeAttr}.system.build.toplevel" \

0 commit comments

Comments
 (0)