diff options
Diffstat (limited to 'pkgs/build-support/vm/windows/install/default.nix')
-rw-r--r-- | pkgs/build-support/vm/windows/install/default.nix | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/pkgs/build-support/vm/windows/install/default.nix b/pkgs/build-support/vm/windows/install/default.nix index fec7dac0714e..0021bae87bc8 100644 --- a/pkgs/build-support/vm/windows/install/default.nix +++ b/pkgs/build-support/vm/windows/install/default.nix @@ -1,16 +1,15 @@ { isoFile , productKey -, sshPublicKey }: let - inherit (import <nixpkgs> {}) lib runCommand; + inherit (import <nixpkgs> {}) lib stdenv runCommand openssh; bootstrapAfterLogin = runCommand "bootstrap.sh" {} '' cat > "$out" <<EOF mkdir -p ~/.ssh cat > ~/.ssh/authorized_keys <<PUBKEY - $(cat "${sshPublicKey}") + $(cat "${cygwinSshKey}/key.pub") PUBKEY ssh-host-config -y -c 'binmode ntsec' -w dummy cygrunsrv -S sshd @@ -21,6 +20,14 @@ let EOF ''; + cygwinSshKey = stdenv.mkDerivation { + name = "snakeoil-ssh-cygwin"; + buildCommand = '' + ensureDir "$out" + ${openssh}/bin/ssh-keygen -t ecdsa -f "$out/key" -N "" + ''; + }; + packages = [ "openssh" ]; in { @@ -36,4 +43,6 @@ in { cygwinPackages = packages; inherit productKey; }; + + sshKey = "${cygwinSshKey}/key"; } |